\noexpandarg

The minimum Euclidean-norm point in a convex polytope: Wolfe’s combinatorial algorithm is exponential

Jesús De Loera
University of California, Davis
deloera@math.ucdavis.edu
   Jamie Haddock
University of California, Davis
jhaddock@math.ucdavis.edu
   Luis Rademacher
University of California, Davis
lrademac@ucdavis.edu
Abstract

The complexity of Philip Wolfe’s method for the minimum Euclidean-norm point problem over a convex polytope has remained unknown since he proposed the method in 1974. The method is important because it is used as a subroutine for one of the most practical algorithms for submodular function minimization. We present the first example that Wolfe’s method takes exponential time. Additionally, we improve previous results to show that linear programming reduces in strongly-polynomial time to the minimum norm point problem over a simplex.

The fundamental algorithmic problem we consider here is: Given a convex polytope Pd𝑃superscript𝑑P\subset\mathbb{R}^{d}, to find the point \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱P\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝑃\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\in P}} of minimum Euclidean norm, i.e., the closest point to the origin or what we call its minimum norm point for short. We assume P𝑃P is presented as the convex hull of finitely many points \IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐,,\IfSubStrpn\StrCutpn\csA\csB\csA\csB𝐩𝐧\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\IfSubStrsubscript𝑝𝑛\StrCutsubscript𝑝𝑛\csA\csBsubscript\csA\csBsubscript𝐩𝐧\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}},\dotsc,\IfSubStr{p_{n}}{{\StrCut{p_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{n}}}}}}}}} (not necessarily in convex position). We wish to find

argmin\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱2subject to\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=k=1𝑛λk\IfSubStrpk\StrCutpk\csA\csB\csA\csB𝐩𝐤,k=1𝑛λk=1,λk0, for k=1,2,,n.argminsubscriptnorm\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱2missing-subexpressionmissing-subexpressionsubject to\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱absent𝑘1𝑛subscript𝜆𝑘\IfSubStrsubscript𝑝𝑘\StrCutsubscript𝑝𝑘\csA\csBsubscript\csA\csBsubscript𝐩𝐤missing-subexpressionmissing-subexpression𝑘1𝑛subscript𝜆𝑘absent1missing-subexpressionmissing-subexpressionsubscript𝜆𝑘formulae-sequenceabsent0 for 𝑘12𝑛missing-subexpression\begin{array}[]{ll@{}ll}\text{argmin}&\;\;\;\;\|\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\|_{2}&&\\ \text{subject to}&\;\;\;\;\;\;\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}&=\underset{k=1}{\overset{n}{\sum}}\lambda_{k}\IfSubStr{p_{k}}{{\StrCut{p_{k}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{k}}},&\\ &\underset{k=1}{\overset{n}{\sum}}\lambda_{k}&=1,&\\ &\;\;\;\;\;\lambda_{k}&\geq 0,\text{ for }k=1,2,...,n.&\end{array}}}}}}}

Finding the minimum norm point in a polytope is a basic auxiliary step in several algorithms arising in many areas of optimization and machine learning; a subroutine for solving the minimum norm point problem can be used to compute the projection of an arbitrary point to a polytope (indeed, argmin\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱P\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStra\StrCuta\csA\csB\csA\csB𝐚2subscriptargmin\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝑃subscriptnorm\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚2\operatorname{argmin}_{\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\in P}\|\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}-\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}\|_{2}}}}}}} is the same as \IfSubStra\StrCuta\csA\csB\csA\csB𝐚+argmin\IfSubStry\StrCuty\csA\csB\csA\csB𝐲P\IfSubStra\StrCuta\csA\csB\csA\csB𝐚\IfSubStry\StrCuty\csA\csB\csA\csB𝐲2\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚subscriptargmin\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲𝑃\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚subscriptnorm\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲2\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}+\operatorname{argmin}_{\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\in P-\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}}\|\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\|_{2}}}}}}}}}). The minimum norm problem additionally appears in combinatorial optimization, e.g., for the nearest point problem for transportation polytopes [1, 4] and as a vital subroutine in Bárány and Onn’s approximation algorithm to solve the colorful linear programming problem [2]. One of the most important reasons to study this problem is because the minimum norm problem can be used as a subroutine for submodular function minimization through projection onto the base polytope, as proposed by Fujishige [8]. Submodular minimization is useful in machine learning, where applications such as large scale learning and vision require efficient and accurate solutions [16]. The problem also appears in optimal loading of recursive neural networks [6]. The Fujishige-Wolfe algorithm is currently considered an important practical algorithm in applications [10, 9, 5]. Furthermore, Fujishige et al. first observed that linear programs may be solved by solving the minimum norm point problem [9], so this simple geometric problem is also relevant to the theory of algorithmic complexity of linear optimization.

One may ask about the complexity of other closely related problems. First, it is worth remembering that Lpsubscript𝐿𝑝L_{p} norm minimization over a polyhedron is NP-hard for 0p<10𝑝10\leq p<1 (see [11] and the references therein), while for p1𝑝1p\geq 1 the convexity of the norm allows for fast computation. One can prove that it is NP-hard to find a closest vertex of a convex polytope given by inequalities. The reduction for hardness is to the directed Hamiltonian path problem: Given a directed graph G=(V,A)𝐺𝑉𝐴G=(V,A) and two distinct vertices s,tV𝑠𝑡𝑉s,t\in V, one aims to decide whether G𝐺G contains a directed Hamiltonian path from s𝑠s to t𝑡t. It is well-known there is a polytope represented by inequalities whose vertices correspond to the characteristic vectors of a directed path joining s𝑠s to t𝑡t in G𝐺G. See e.g., Proposition 2.6 in the book [17] for the details, including the explicit inequality description of this polytope. Finally, by a change of variable yi=1xisubscript𝑦𝑖1subscript𝑥𝑖y_{i}=1-x_{i}, changing zeros to ones and vice versa, the minimum Euclidean norm vertex becomes precisely the “longest path from s𝑠s to t𝑡t”, solving the directed Hamiltonian path problem.

Since the Euclidean norm is a convex quadratic form, the minimum norm point problem is a special case of convex quadratic optimization problem. Indeed, it is well-known that a convex quadratic programming problem can be approximately solved in polynomial time; that is, some point \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} within distance ε𝜀\varepsilon of the desired minimizing point \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} may be found in polynomial time with respect to log1ε1𝜀\log\frac{1}{\varepsilon}. This can be done either through several iterative (convergent) algorithms, such as the Ellipsoid method [15] and interior-point method techniques [3]. Each of these are methods whose complexity depends upon the desired accuracy. However, an approximate numerical solution is inconvenient when the application requires more information, e.g., if we require to know the face that contains the minimum norm point. Numeric methods that converge to a solution and require further rounding are not as convenient for this need.

In this paper, we focus on combinatorial algorithms that rely on the structure of the polytope. There are several reasons to study the complexity of combinatorial algorithms for the minimum norm problem. On the one hand, the minimum norm problem can indeed be solved in strongly-polynomial time for some polytopes; most notably in network-flow and transportation polytopes (see [4, 1, 22], and references therein, for details). On the other hand, while linear programming reduces to the minimum norm problem, it is unknown whether linear programming can be solved in strongly-polynomial time [20], thus the complexity of the minimum norm point problem could also impact the algorithmic efficiency of linear programming and optimization in general. For all these reasons it is natural to ask whether a strongly-polynomial time algorithm exists for the minimum norm problem for general polytopes.

Our contributions:

  • In 1974, Philip Wolfe proposed a combinatorial method that can solve the minimum-norm point problem exactly [24, 23]. Since then, the complexity of Wolfe’s method was not understood. In Section 1 we present our main contribution and give the first example that Wolfe’s method has exponential behavior. This is akin to the well-known Klee-Minty examples showing exponential behavior for the simplex method [14]. Prior work by [5] showed that after t𝑡t iterations, Wolfe’s method returns an O(1/t)𝑂1𝑡O(1/t)-approximate solution to the minimum norm point on any polytope.

  • As we mentioned earlier, an enticing reason to explore the complexity of the minimum norm problem is its intimate link to the complexity of linear programming. It is known that linear programming can be polynomially reduced to the minimum norm point problem [10]. In Section 2, we strengthen earlier results showing that linear optimization is strongly polynomial time reducible to the minimum norm point problem on a simplex.

1 Wolfe’s method exhibits exponential behavior

For convenience of the reader and to set up notation we start with a brief description of Wolfe’s method. We will then describe our exponential example in detail, proving the exponential behavior of Wolfe’s method. First, we review two important definitions. Given a set of points Sd𝑆superscript𝑑S\subseteq\mathbb{R}^{d}, we have two minimum-norm points to consider. One is the affine minimizer which is the point of minimum norm in the affine hull of S𝑆S, argmin\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱aff(S)\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱2subscriptargmin\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱aff𝑆subscriptnorm\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱2\operatorname{argmin}_{\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\in\operatorname{aff}(S)}\|\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\|_{2}}}}}. The second is the convex minimizer which is the point of minimum norm in the convex hull of S𝑆S, argmin\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱conv(S)\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱2subscriptargmin\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱conv𝑆subscriptnorm\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱2\operatorname{argmin}_{\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\in\operatorname{conv}(S)}\|\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\|_{2}}}}}. Note that solving for the convex minimizer of a set of points is exactly the problem we are solving, while solving for the affine minimizer of a set of points is easily computable.

1.1 A brief review of Wolfe’s combinatorial method

Wolfe’s method is a combinatorial method for solving the minimum norm point problem over a polytope, P=conv(\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐,,\IfSubStrpn\StrCutpn\csA\csB\csA\csB𝐩𝐧)d𝑃conv\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\IfSubStrsubscript𝑝𝑛\StrCutsubscript𝑝𝑛\csA\csBsubscript\csA\csBsubscript𝐩𝐧superscript𝑑P=\operatorname{conv}(\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}},...,\IfSubStr{p_{n}}{{\StrCut{p_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{n}}})\subset\mathbb{R}^{d}}}}}}}, introduced by P. Wolfe in [24]. The method iteratively solves this problem over a sequence of subsets of no more than d+1𝑑1d+1 affinely independent points from \IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,,\IfSubStrpn\StrCutpn\csA\csB\csA\csB𝐩𝐧\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝𝑛\StrCutsubscript𝑝𝑛\csA\csBsubscript\csA\csBsubscript𝐩𝐧\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},...,\IfSubStr{p_{n}}{{\StrCut{p_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{n}}}}}}} and it checks to see if the solution to the subproblem is a solution to the problem over P𝑃P using the following lemma due to Wolfe. We call this Wolfe’s criterion.

Lemma 1 (Wolfe’s criterion [24]).

Let P=conv(\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐,,\IfSubStrpn\StrCutpn\csA\csB\csA\csB𝐩𝐧)d𝑃conv\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\IfSubStrsubscript𝑝𝑛\StrCutsubscript𝑝𝑛\csA\csBsubscript\csA\csBsubscript𝐩𝐧superscript𝑑P=\operatorname{conv}(\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}},...,\IfSubStr{p_{n}}{{\StrCut{p_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{n}}})\subset\operatorname{\mathbb{R}}^{d}}}}}}}, then \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱P\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝑃\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\in P}} is the minimum norm point in P𝑃P if and only if

\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱T\IfSubStrpj\StrCutpj\csA\csB\csA\csB𝐩𝐣\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22for allj[n].formulae-sequence\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csBsuperscript𝐱𝑇\IfSubStrsubscript𝑝𝑗\StrCutsubscript𝑝𝑗\csA\csBsubscript\csA\csBsubscript𝐩𝐣superscriptsubscriptnorm\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22for all𝑗delimited-[]𝑛\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}^{T}\IfSubStr{p_{j}}{{\StrCut{p_{j}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{j}}}\geq\|\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\|_{2}^{2}\quad\text{for all}\quad j\in[n].}}}}}}

Note that this tells us that if there exists a point pjsubscript𝑝𝑗p_{j} so that xTpj<x22superscript𝑥𝑇subscript𝑝𝑗subscriptsuperscriptdelimited-∥∥𝑥22x^{T}p_{j}<\lVert x\rVert^{2}_{2} then x𝑥x is not the minimum norm point in P𝑃P. We say that pjsubscript𝑝𝑗p_{j} violates Wolfe’s criterion and using this point should decrease the minimum norm point of the current subproblem.

It should be observed that just as Wolfe’s criterion is a rule to decide optimality over conv(P)conv𝑃\operatorname{conv}(P), one has a very similar rule for deciding optimality over the affine hull, aff(P)aff𝑃\operatorname{aff}(P).

Lemma 2 (Wolfe’s criterion for the affine hull).

Let P={\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐,,\IfSubStrpn\StrCutpn\csA\csB\csA\csB𝐩𝐧}d𝑃\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\IfSubStrsubscript𝑝𝑛\StrCutsubscript𝑝𝑛\csA\csBsubscript\csA\csBsubscript𝐩𝐧superscript𝑑P=\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}},...,\IfSubStr{p_{n}}{{\StrCut{p_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{n}}}\}\subseteq\mathbb{R}^{d}}}}}}} be a non-empty finite set of points. Then \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱affP\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱aff𝑃\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\in\operatorname{aff}P}} is the minimum norm point in affPaff𝑃\operatorname{aff}P iff for all \IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢P\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢𝑃\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}\in P}} we have \IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsuperscriptsubscript𝐩𝐢𝑇\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱subscriptsuperscriptdelimited-∥∥\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}^{T}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\lVert\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}}}}}}}.

Proof.

(\Leftarrow) Let \IfSubStrp\StrCutp\csA\csB\csA\csB𝐩=i=1nρi\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csB𝐩superscriptsubscript𝑖1𝑛subscript𝜌𝑖\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}=\sum_{i=1}^{n}\rho_{i}\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}}}}} with i=1nρi=1superscriptsubscript𝑖1𝑛subscript𝜌𝑖1\sum_{i=1}^{n}\rho_{i}=1 be an arbitrary point in affPaff𝑃\operatorname{aff}P and suppose \IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsuperscriptsubscript𝐩𝐢𝑇\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱subscriptsuperscriptdelimited-∥∥\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}^{T}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\lVert\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}}}}}}} for i=1,2,,n𝑖12𝑛i=1,2,...,n. We have

\IfSubStrp\StrCutp\csA\csB\csA\csB𝐩T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=i=1𝑛ρi\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=i=1𝑛ρi\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22=\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22.\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csBsuperscript𝐩𝑇\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝑖1𝑛subscript𝜌𝑖\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsuperscriptsubscript𝐩𝐢𝑇\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝑖1𝑛subscript𝜌𝑖subscriptsuperscriptdelimited-∥∥\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22subscriptsuperscriptdelimited-∥∥\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}^{T}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\underset{i=1}{\overset{n}{\sum}}\rho_{i}\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}^{T}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\underset{i=1}{\overset{n}{\sum}}\rho_{i}\lVert\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}=\lVert\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}.}}}}}}}}}}}}

Then 0\IfSubStrp\StrCutp\csA\csB\csA\csB𝐩\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22=\IfSubStrp\StrCutp\csA\csB\csA\csB𝐩222\IfSubStrp\StrCutp\csA\csB\csA\csB𝐩T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱+\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22=\IfSubStrp\StrCutp\csA\csB\csA\csB𝐩22\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱220subscriptsuperscriptdelimited-∥∥\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csB𝐩\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22subscriptsuperscriptdelimited-∥∥\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csB𝐩222\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csBsuperscript𝐩𝑇\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱subscriptsuperscriptdelimited-∥∥\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22subscriptsuperscriptdelimited-∥∥\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csB𝐩22subscriptsuperscriptdelimited-∥∥\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱220\leq\lVert\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}=\lVert\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}\rVert^{2}_{2}-2\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}^{T}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}+\lVert\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}=\lVert\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}\rVert^{2}_{2}-\lVert\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}}}}}}}}}}}}}}}}} and so \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22\IfSubStrp\StrCutp\csA\csB\csA\csB𝐩22subscriptsuperscriptdelimited-∥∥\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22subscriptsuperscriptdelimited-∥∥\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csB𝐩22\lVert\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}\leq\lVert\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}\rVert^{2}_{2}}}}}.

(\Rightarrow) Suppose \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱affP\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱aff𝑃\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\in\operatorname{aff}P}} is the minimum norm point in affPaff𝑃\operatorname{aff}P. Suppose that \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱T(\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱)0\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csBsuperscript𝐱𝑇\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱0\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}^{T}(\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}})\not=0}}}}}} for some i[n]𝑖delimited-[]𝑛i\in[n]. First, consider the case when \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱T(\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱)>0\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csBsuperscript𝐱𝑇\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱0\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}^{T}(\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}})>0}}}}}} and define 0<ϵ<2\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱T(\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱)\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22.0italic-ϵ2\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csBsuperscript𝐱𝑇\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱subscriptsuperscriptdelimited-∥∥\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱220<\epsilon<\frac{2\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}^{T}(\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}})}{\lVert\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}}.}}}}}}}}}} Then we have

(1+ϵ)\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱ϵ\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢22=x+ϵ(xpi)22=\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱222ϵ\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱T(\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱)+ϵ2\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22<\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22subscriptsuperscriptdelimited-∥∥1italic-ϵ\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱italic-ϵ\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢22subscriptsuperscriptdelimited-∥∥𝑥italic-ϵ𝑥subscript𝑝𝑖22subscriptsuperscriptdelimited-∥∥\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱222italic-ϵ\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csBsuperscript𝐱𝑇\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱superscriptitalic-ϵ2subscriptsuperscriptdelimited-∥∥\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22subscriptsuperscriptdelimited-∥∥\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22\lVert(1+\epsilon)\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}-\epsilon\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}\rVert^{2}_{2}=\lVert x+\epsilon(x-p_{i})\rVert^{2}_{2}=\lVert\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}-2\epsilon\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}^{T}(\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}})+\epsilon^{2}\lVert\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}<\lVert\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}}}}}}}}}}}}}}}}}}}

since 0<ϵ2\IfSubStrp\StrCutp\csA\csB\csA\csB𝐩i\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22<2ϵxT(\IfSubStrp\StrCutp\csA\csB\csA\csB𝐩i\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱)0superscriptitalic-ϵ2subscriptsuperscriptdelimited-∥∥\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csBsubscript𝐩𝑖\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱222italic-ϵsuperscript𝑥𝑇\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csBsubscript𝐩𝑖\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱0<\epsilon^{2}\lVert\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}_{i}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}<2\epsilon x^{T}(\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}_{i}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}})}}}}}}}}. This contradicts our assumption that \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} is the minimum norm point in affPaff𝑃\operatorname{aff}P. The case when \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱T(\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱)<0\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csBsuperscript𝐱𝑇\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱0\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}^{T}(\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}})<0}}}}}} is likewise proved by considering (1ϵ)\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱+ϵ\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢22subscriptsuperscriptdelimited-∥∥1italic-ϵ\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱italic-ϵ\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢22\lVert(1-\epsilon)\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}+\epsilon\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}\rVert^{2}_{2}}}}} with 0<ϵ<2\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱T(\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱)\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱220italic-ϵ2\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csBsuperscript𝐱𝑇\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱subscriptsuperscriptdelimited-∥∥\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱220<\epsilon<-\frac{2\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}^{T}(\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}})}{\lVert\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}}}}}}}}}}}}. Thus, we have that \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱T(\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱)=0\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csBsuperscript𝐱𝑇\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱0\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}^{T}(\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}})=0}}}}}}. ∎

We say a set of affinely independent points S𝑆S is a corral if the affine minimizer of S𝑆S lies in the relative interior of convSconv𝑆\operatorname{conv}{S}. Note that singletons are always corrals. Carathéodory’s theorem implies that the minimum norm point of P𝑃P will lie in the convex hull of some corral of points among \IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,,\IfSubStrpn\StrCutpn\csA\csB\csA\csB𝐩𝐧\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝𝑛\StrCutsubscript𝑝𝑛\csA\csBsubscript\csA\csBsubscript𝐩𝐧\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},...,\IfSubStr{p_{n}}{{\StrCut{p_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{n}}}}}}}. The goal of Wolfe’s method is to search for a corral containing the (unique) minimizing point.

The pseudo-code in Method 1 below presents the iterations of Wolfe’s method. It is worth noticing that some steps of the method can be implemented in more than one way and Wolfe proved that all of them lead to a correct algorithm (for example, the choice of the initial point in line 2). We therefore use the word method to encompass all these variations and we discuss specific choices when they are relevant to our analysis of the method.

Method 1 Wolfe’s Method [24]
1:procedure Wolfe(\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐,,\IfSubStrpn\StrCutpn\csA\csB\csA\csB𝐩𝐧\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\IfSubStrsubscript𝑝𝑛\StrCutsubscript𝑝𝑛\csA\csBsubscript\csA\csBsubscript𝐩𝐧\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}},...,\IfSubStr{p_{n}}{{\StrCut{p_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{n}}}}}}}}})
2:     Initialize \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}}}}} for some i[n]𝑖delimited-[]𝑛i\in[n], initial corral C={\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢}𝐶\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢C=\{\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}\}}}, I={i}𝐼𝑖I=\{i\}, \IfSubStrλ\StrCutλ\csA\csB\csA\csBλ=\IfSubStrei\StrCutei\csA\csB\csA\csB𝐞𝐢\IfSubStr𝜆\StrCut𝜆\csA\csBsubscript\csA\csB𝜆\IfSubStrsubscript𝑒𝑖\StrCutsubscript𝑒𝑖\csA\csBsubscript\csA\csBsubscript𝐞𝐢\IfSubStr{\lambda}{{\StrCut{\lambda}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\lambda}}=\IfSubStr{e_{i}}{{\StrCut{e_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{e_{i}}}}}}}, \IfSubStrα\StrCutα\csA\csB\csA\csBα=\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr𝛼\StrCut𝛼\csA\csBsubscript\csA\csB𝛼\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{\alpha}{{\StrCut{\alpha}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\alpha}}=\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}}.
3:     while \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\not=\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}} and there exists \IfSubStrpj\StrCutpj\csA\csB\csA\csB𝐩𝐣\IfSubStrsubscript𝑝𝑗\StrCutsubscript𝑝𝑗\csA\csBsubscript\csA\csBsubscript𝐩𝐣\IfSubStr{p_{j}}{{\StrCut{p_{j}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{j}}}}} with \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱T\IfSubStrpj\StrCutpj\csA\csB\csA\csB𝐩𝐣<\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csBsuperscript𝐱𝑇\IfSubStrsubscript𝑝𝑗\StrCutsubscript𝑝𝑗\csA\csBsubscript\csA\csBsubscript𝐩𝐣superscriptsubscriptnorm\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}^{T}\IfSubStr{p_{j}}{{\StrCut{p_{j}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{j}}}<\|\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\|_{2}^{2}}}}}}} do
4:         Add \IfSubStrpj\StrCutpj\csA\csB\csA\csB𝐩𝐣\IfSubStrsubscript𝑝𝑗\StrCutsubscript𝑝𝑗\csA\csBsubscript\csA\csBsubscript𝐩𝐣\IfSubStr{p_{j}}{{\StrCut{p_{j}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{j}}}}} to the potential corral: C=C{\IfSubStrpj\StrCutpj\csA\csB\csA\csB𝐩𝐣}𝐶𝐶\IfSubStrsubscript𝑝𝑗\StrCutsubscript𝑝𝑗\csA\csBsubscript\csA\csBsubscript𝐩𝐣C=C\cup\{\IfSubStr{p_{j}}{{\StrCut{p_{j}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{j}}}\}}}, I=I{j}𝐼𝐼𝑗I=I\cup\{j\}.
5:         Find the affine minimizer of C𝐶C, \IfSubStry\StrCuty\csA\csB\csA\csB𝐲=argmin\IfSubStry\StrCuty\csA\csB\csA\csB𝐲aff(C)\IfSubStry\StrCuty\csA\csB\csA\csB𝐲2\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲subscriptargmin\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲aff𝐶subscriptnorm\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲2\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}=\operatorname{argmin}_{\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\in\operatorname{aff}(C)}\|\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\|_{2}}}}}}}, and the affine coefficients, α𝛼\alpha.
6:         while \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} is not a strict convex combination of points in C𝐶C; αi0subscript𝛼𝑖0\alpha_{i}\leq 0 for some iI𝑖𝐼i\in I do
7:              Find \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}}}, closest point to \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} on [\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱,\IfSubStry\StrCuty\csA\csB\csA\csB𝐲]conv(C)\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲conv𝐶[\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}},\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}]\cap\operatorname{conv}(C)}}}}; \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳=θ\IfSubStry\StrCuty\csA\csB\csA\csB𝐲+(1θ)\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳𝜃\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲1𝜃\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}=\theta\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}+(1-\theta)\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}}}}}}, θ=miniI:αi0λiλiαi𝜃subscript:𝑖𝐼subscript𝛼𝑖0subscript𝜆𝑖subscript𝜆𝑖subscript𝛼𝑖\theta=\min_{i\in I:\alpha_{i}\leq 0}\frac{\lambda_{i}}{\lambda_{i}-\alpha_{i}}.
8:              Select \IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢{\IfSubStrpj\StrCutpj\csA\csB\csA\csB𝐩𝐣C:θαj+(1θ)λj=0}\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢conditional-set\IfSubStrsubscript𝑝𝑗\StrCutsubscript𝑝𝑗\csA\csBsubscript\csA\csBsubscript𝐩𝐣𝐶𝜃subscript𝛼𝑗1𝜃subscript𝜆𝑗0\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}\in\{\IfSubStr{p_{j}}{{\StrCut{p_{j}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{j}}}\in C:\theta\alpha_{j}+(1-\theta)\lambda_{j}=0\}}}}}.
9:              Remove this point from C𝐶C; C=C{\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢}𝐶𝐶\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢C=C-\{\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}\}}}, I=I{i}𝐼𝐼𝑖I=I-\{i\}, αi=0subscript𝛼𝑖0\alpha_{i}=0, λi=0subscript𝜆𝑖0\lambda_{i}=0.
10:              Update \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}}}}} and the convex coefficients, λ𝜆\lambda, of \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} for C𝐶C; solve \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢Cλi\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱subscript\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢𝐶subscript𝜆𝑖\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\sum_{\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}\in C}\lambda_{i}\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}}}}}}} for λ𝜆\lambda.
11:              Find the affine minimizer of C𝐶C, \IfSubStry\StrCuty\csA\csB\csA\csB𝐲=argmin\IfSubStry\StrCuty\csA\csB\csA\csB𝐲aff(C)\IfSubStry\StrCuty\csA\csB\csA\csB𝐲2\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲subscriptargmin\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲aff𝐶subscriptnorm\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲2\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}=\operatorname{argmin}_{\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\in\operatorname{aff}(C)}\|\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\|_{2}}}}}}} and the affine coefficients, α𝛼\alpha.
12:         end while
13:         Update \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}}}} and λ=α𝜆𝛼\lambda=\alpha.
14:     end while
15:     Return \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}}.
16:end procedure

The subset of points being considered as the potential corral is maintained in the set C𝐶C. Iterations of the outer-loop, where points are added to C𝐶C, are called major cycles and iterations of the inner-loop, where points are removed from C𝐶C, are called minor cycles. The potential corral, C𝐶C, is named so because at the beginning of a major cycle it is guaranteed to be a corral, while within the minor cycles it may or may not be a corral. Intuitively, a major cycle of Wolfe’s method inserts an improving point which violates Wolfe’s criterion (\IfSubStrpj\StrCutpj\csA\csB\csA\csB𝐩𝐣\IfSubStrsubscript𝑝𝑗\StrCutsubscript𝑝𝑗\csA\csBsubscript\csA\csBsubscript𝐩𝐣\IfSubStr{p_{j}}{{\StrCut{p_{j}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{j}}}}} so that \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱T\IfSubStrpj\StrCutpj\csA\csB\csA\csB𝐩𝐣<\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csBsuperscript𝐱𝑇\IfSubStrsubscript𝑝𝑗\StrCutsubscript𝑝𝑗\csA\csBsubscript\csA\csBsubscript𝐩𝐣superscriptsubscriptnorm\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}^{T}\IfSubStr{p_{j}}{{\StrCut{p_{j}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{j}}}<\|\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\|_{2}^{2}}}}}}}) into C𝐶C, then the minor cycles remove points until C𝐶C is a corral, and this process is repeated until no points are improving and C𝐶C is guaranteed to be a corral containing the minimizer.

It can be shown that this method terminates because the norm of the convex minimizer of the corrals visited monotonically decreases and thus, no corral is visited twice [24]. Like [5], we sketch the argument in [24]. One may see that the norm monotonically decreases by noting that the convex minimizer over the polytope may result from one of two updates to \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}}, either at the end of a major cycle or at the end of a minor cycle. Let C𝐶C be the corral at the beginning of a major cycle (line 3 of Method 1) and let \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} be the current minimizer, then the affine minimizer \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} has norm strictly less than that of \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} by Lemma 2, uniqueness of the affine minimizer and the fact that \IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱<\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsuperscriptsubscript𝐩𝐢𝑇\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱subscriptsuperscriptdelimited-∥∥\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}^{T}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}<\lVert\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}}}}}}} where \IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}}} is the added point. Now, either \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} is updated to \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} or a minor cycle begins. Let S𝑆S be the potential corral at the beginning of a minor cycle (line 6 of 1), let \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} be the current convex combination of points of S𝑆S and let \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} be the affine minimizer of S𝑆S. Note that \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}}} is a proper convex combination of \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} and \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} and since \IfSubStry\StrCuty\csA\csB\csA\csB𝐲2<\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱2subscriptdelimited-∥∥\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲2subscriptdelimited-∥∥\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱2{\lVert\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\rVert}_{2}<{\lVert\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert}_{2}}}}}, we have \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳2<\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱2subscriptdelimited-∥∥\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳2subscriptdelimited-∥∥\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱2{\lVert\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}\rVert}_{2}<{\lVert\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert}_{2}}}}}. Thus, we see that every update of \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} decreases its norm. Note that the number of minor cycles within any major cycle is bounded by d+1𝑑1d+1, where d𝑑d is the dimension of the space. Thus, the total number of iterations is bounded by the number of corrals visited multiplied by d+1𝑑1d+1. It is nevertheless not clear how the number of corrals grows, beyond the bound of i=1d+1(ni)superscriptsubscript𝑖1𝑑1binomial𝑛𝑖\sum_{i=1}^{d+1}\binom{n}{i}.

Within the method, there are two moments at which one may choose which points to add to the potential corral. Observe that at line 2 of the pseudocode, one may choose which initial point to add to the potential corral. In this paper we will only consider one initial rule, which is to initialize with the point of minimum norm. Observe that at line 4 of the pseudocode, there are several potential choices of which point to add to the potential corral. Two important examples of insertion rules are, first, the minnorm rule which dictates that one chooses, out of the improving points for the potential corral, to add the point \IfSubStrpj\StrCutpj\csA\csB\csA\csB𝐩𝐣\IfSubStrsubscript𝑝𝑗\StrCutsubscript𝑝𝑗\csA\csBsubscript\csA\csBsubscript𝐩𝐣\IfSubStr{p_{j}}{{\StrCut{p_{j}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{j}}}}} of minimum norm. Second, the linopt rule dictates that one chooses, out of the improving points for the potential corral, to add the point \IfSubStrpj\StrCutpj\csA\csB\csA\csB𝐩𝐣\IfSubStrsubscript𝑝𝑗\StrCutsubscript𝑝𝑗\csA\csBsubscript\csA\csBsubscript𝐩𝐣\IfSubStr{p_{j}}{{\StrCut{p_{j}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{j}}}}} minimizing \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱T\IfSubStrpj\StrCutpj\csA\csB\csA\csB𝐩𝐣\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csBsuperscript𝐱𝑇\IfSubStrsubscript𝑝𝑗\StrCutsubscript𝑝𝑗\csA\csBsubscript\csA\csBsubscript𝐩𝐣\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}^{T}\IfSubStr{p_{j}}{{\StrCut{p_{j}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{j}}}}}}}. Notice that insertion rules are to Wolfe’s method what pivot rules are to the Simplex Method (see [21] for a summary).

As with pivot rules, there are advantages and disadvantages of insertion rules. For example, the minnorm rule has the advantage that its implementation only requires an initial ordering of the points, then in each iteration it need only to search for an improving point in order of increasing norm and to add the first found. However, the linopt insertion rule has the advantage that, if the polytope is given in H-representation (intersection of halfspaces) rather than V-representation (convex hull of points), one may still perform Wolfe’s method by using linear programming to find \IfSubStrpj\StrCutpj\csA\csB\csA\csB𝐩𝐣\IfSubStrsubscript𝑝𝑗\StrCutsubscript𝑝𝑗\csA\csBsubscript\csA\csBsubscript𝐩𝐣\IfSubStr{p_{j}}{{\StrCut{p_{j}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{j}}}}} minimizing \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱T\IfSubStrpj\StrCutpj\csA\csB\csA\csB𝐩𝐣\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csBsuperscript𝐱𝑇\IfSubStrsubscript𝑝𝑗\StrCutsubscript𝑝𝑗\csA\csBsubscript\csA\csBsubscript𝐩𝐣\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}^{T}\IfSubStr{p_{j}}{{\StrCut{p_{j}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{j}}}}}}} over the polytope. In other words, Wolfe’s method does not need to have the list of vertices explicitly given, but suffices to have a linear programming oracle that provides the new vertex to be inserted. This feature of Wolfe’s method means that each iteration can be implemented efficiently even for certain polyhedra having too many vertices and facets: specifically, over zonotopes (presented as a Minkowski sum of segments) [9] and over the base polyhedron of a submodular function [8].

Now we present examples that show that the optimal choice of insertion rule depends on the input data. We first present a simple example where the minnorm rule outperforms the linopt rule. That is, the minnorm insertion rule is not in obvious disadvantage to the linopt rule. In Section 1.2, we present a family of examples where the minnorm rule takes exponential time, while we expect the linopt rule to take polynomial time in this family.

Refer to caption
Figure 1: The simplex P=conv{\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐,\IfSubStrp3\StrCutp3\csA\csB\csA\csB𝐩𝟑,\IfSubStrp4\StrCutp4\csA\csB\csA\csB𝐩𝟒}3𝑃conv\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\IfSubStrsubscript𝑝3\StrCutsubscript𝑝3\csA\csBsubscript\csA\csBsubscript𝐩3\IfSubStrsubscript𝑝4\StrCutsubscript𝑝4\csA\csBsubscript\csA\csBsubscript𝐩4superscript3P=\operatorname{conv}\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}},\IfSubStr{p_{3}}{{\StrCut{p_{3}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{3}}},\IfSubStr{p_{4}}{{\StrCut{p_{4}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{4}}}\}\subset\mathbb{R}^{3}}}}}}}}} where \IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏=(0.8,0.9,0),\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐=(1.5,0.5,0),\IfSubStrp3\StrCutp3\csA\csB\csA\csB𝐩𝟑=(1,1,2)formulae-sequence\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩10.80.90formulae-sequence\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩21.50.50\IfSubStrsubscript𝑝3\StrCutsubscript𝑝3\csA\csBsubscript\csA\csBsubscript𝐩3112\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}}=(0.8,0.9,0),\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}}=(1.5,-0.5,0),\IfSubStr{p_{3}}{{\StrCut{p_{3}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{3}}}=(-1,-1,2)}}}}}} and \IfSubStrp4\StrCutp4\csA\csB\csA\csB𝐩𝟒=(4,1.5,2)\IfSubStrsubscript𝑝4\StrCutsubscript𝑝4\csA\csBsubscript\csA\csBsubscript𝐩441.52\IfSubStr{p_{4}}{{\StrCut{p_{4}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{4}}}=(-4,1.5,2)}}.

The first example shows that instances can have different performance depending on the choice of insertion rule. Consider the simplex P𝑃P shown in Figure 1 (we present the coordinates of vertices in the figure’s caption). We list the steps of Wolfe’s method on P𝑃P for the minnorm and linopt insertion rules in Tables 1 and 2 and demonstrate a single step from each set of iterations in Figure 2. Each row lists major cycle and minor cycle iteration number, the vertices in the potential corral, and the value of \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} and \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} at the end of the iteration (before \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}}}} for major cycles). Note that the vertex \IfSubStrp4\StrCutp4\csA\csB\csA\csB𝐩𝟒\IfSubStrsubscript𝑝4\StrCutsubscript𝑝4\csA\csBsubscript\csA\csBsubscript𝐩4\IfSubStr{p_{4}}{{\StrCut{p_{4}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{4}}}}} is added to the potential corral twice with the linopt insertion rule, as evidenced in Table 2.

Major Cycle Minor Cycle C𝐶C \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}}
0 0 {\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏}\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}}\}}} \IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}}}}
1 0 {\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐}\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}}\}}}}} \IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}}}} (1,0.5,0)10.50(1,0.5,0)
2 0 {\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐,\IfSubStrp3\StrCutp3\csA\csB\csA\csB𝐩𝟑}\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\IfSubStrsubscript𝑝3\StrCutsubscript𝑝3\csA\csBsubscript\csA\csBsubscript𝐩3\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}},\IfSubStr{p_{3}}{{\StrCut{p_{3}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{3}}}\}}}}}}} (1,0.5,0)10.50(1,0.5,0) (0.3980,0.199,0.5473)0.39800.1990.5473(0.3980,0.199,0.5473)
3 0 {\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐,\IfSubStrp3\StrCutp3\csA\csB\csA\csB𝐩𝟑,\IfSubStrp4\StrCutp4\csA\csB\csA\csB𝐩𝟒}\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\IfSubStrsubscript𝑝3\StrCutsubscript𝑝3\csA\csBsubscript\csA\csBsubscript𝐩3\IfSubStrsubscript𝑝4\StrCutsubscript𝑝4\csA\csBsubscript\csA\csBsubscript𝐩4\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}},\IfSubStr{p_{3}}{{\StrCut{p_{3}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{3}}},\IfSubStr{p_{4}}{{\StrCut{p_{4}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{4}}}\}}}}}}}}} (0.3980,0.199,0.5473)0.39800.1990.5473(0.3980,0.199,0.5473) (0,0,0)000(0,0,0)
3 1 {\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐,\IfSubStrp4\StrCutp4\csA\csB\csA\csB𝐩𝟒}\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\IfSubStrsubscript𝑝4\StrCutsubscript𝑝4\csA\csBsubscript\csA\csBsubscript𝐩4\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}},\IfSubStr{p_{4}}{{\StrCut{p_{4}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{4}}}\}}}}}}} (0.2878,0.1439,0.3957)0.28780.14390.3957(0.2878,0.1439,0.3957) (0.1980,0.0990,0.4455)0.19800.09900.4455(0.1980,0.0990,0.4455)
Table 1: iterations for minnorm insertion rule
Major Cycle Minor Cycle C𝐶C \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}}
0 0 {\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏}\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}}\}}} \IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}}}}
1 0 {\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp4\StrCutp4\csA\csB\csA\csB𝐩𝟒}\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝4\StrCutsubscript𝑝4\csA\csBsubscript\csA\csBsubscript𝐩4\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{4}}{{\StrCut{p_{4}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{4}}}\}}}}} \IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}}}} (0.2219,0.9723,0.2409)0.22190.97230.2409(0.2219,0.9723,0.2409)
2 0 {\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp4\StrCutp4\csA\csB\csA\csB𝐩𝟒,\IfSubStrp3\StrCutp3\csA\csB\csA\csB𝐩𝟑}\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝4\StrCutsubscript𝑝4\csA\csBsubscript\csA\csBsubscript𝐩4\IfSubStrsubscript𝑝3\StrCutsubscript𝑝3\csA\csBsubscript\csA\csBsubscript𝐩3\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{4}}{{\StrCut{p_{4}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{4}}},\IfSubStr{p_{3}}{{\StrCut{p_{3}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{3}}}\}}}}}}} (0.2219,0.9723,0.2409)0.22190.97230.2409(0.2219,0.9723,0.2409) (0.2848,0.3417,0.5810)0.28480.34170.5810(0.2848,0.3417,0.5810)
2 1 {\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp3\StrCutp3\csA\csB\csA\csB𝐩𝟑}\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝3\StrCutsubscript𝑝3\csA\csBsubscript\csA\csBsubscript𝐩3\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{3}}{{\StrCut{p_{3}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{3}}}\}}}}} (0.2835,0.3548,0.5739)0.28350.35480.5739(0.2835,0.3548,0.5739) (0.2774,0.3484,0.5807)0.27740.34840.5807(0.2774,0.3484,0.5807)
3 0 {\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp3\StrCutp3\csA\csB\csA\csB𝐩𝟑,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐}\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝3\StrCutsubscript𝑝3\csA\csBsubscript\csA\csBsubscript𝐩3\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{3}}{{\StrCut{p_{3}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{3}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}}\}}}}}}} (0.2774,0.3484,0.5807)0.27740.34840.5807(0.2774,0.3484,0.5807) (0.3980,0.199,0.5473)0.39800.1990.5473(0.3980,0.199,0.5473)
4 0 {\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐,\IfSubStrp3\StrCutp3\csA\csB\csA\csB𝐩𝟑,\IfSubStrp4\StrCutp4\csA\csB\csA\csB𝐩𝟒}\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\IfSubStrsubscript𝑝3\StrCutsubscript𝑝3\csA\csBsubscript\csA\csBsubscript𝐩3\IfSubStrsubscript𝑝4\StrCutsubscript𝑝4\csA\csBsubscript\csA\csBsubscript𝐩4\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}},\IfSubStr{p_{3}}{{\StrCut{p_{3}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{3}}},\IfSubStr{p_{4}}{{\StrCut{p_{4}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{4}}}\}}}}}}}}} (0.3980,0.199,0.5473)0.39800.1990.5473(0.3980,0.199,0.5473) (0,0,0)000(0,0,0)
4 1 {\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐,\IfSubStrp4\StrCutp4\csA\csB\csA\csB𝐩𝟒}\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\IfSubStrsubscript𝑝4\StrCutsubscript𝑝4\csA\csBsubscript\csA\csBsubscript𝐩4\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}},\IfSubStr{p_{4}}{{\StrCut{p_{4}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{4}}}\}}}}}}} (0.2878,0.1439,0.3957)0.28780.14390.3957(0.2878,0.1439,0.3957) (0.1980,0.0990,0.4455)0.19800.09900.4455(0.1980,0.0990,0.4455)
Table 2: iterations for linopt insertion rule
Refer to caption
Refer to caption
Figure 2: Left: Major cycle 1, minor cycle 0 for the linopt rule on P𝑃P illustrates the end of a major cycle; the affine minimizer \IfSubStry1\StrCuty1\csA\csB\csA\csB𝐲𝟏relint(conv{C})=relint(conv{\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp4\StrCutp4\csA\csB\csA\csB𝐩𝟒})\IfSubStrsubscript𝑦1\StrCutsubscript𝑦1\csA\csBsubscript\csA\csBsubscript𝐲1relintconv𝐶relintconv\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝4\StrCutsubscript𝑝4\csA\csBsubscript\csA\csBsubscript𝐩4\IfSubStr{y_{1}}{{\StrCut{y_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y_{1}}}\in\text{relint}(\operatorname{conv}\{C\})=\text{relint}(\operatorname{conv}\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{4}}{{\StrCut{p_{4}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{4}}}\})}}}}}}. Right: Major cycle 2, minor cycle 0 for the linopt rule on P𝑃P illustrates the beginning of a minor cycle; the affine minimizer \IfSubStry2\StrCuty2\csA\csB\csA\csB𝐲𝟐relint(conv{C})=relint(conv{\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp4\StrCutp4\csA\csB\csA\csB𝐩𝟒,\IfSubStrp3\StrCutp3\csA\csB\csA\csB𝐩𝟑})\IfSubStrsubscript𝑦2\StrCutsubscript𝑦2\csA\csBsubscript\csA\csBsubscript𝐲2relintconv𝐶relintconv\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝4\StrCutsubscript𝑝4\csA\csBsubscript\csA\csBsubscript𝐩4\IfSubStrsubscript𝑝3\StrCutsubscript𝑝3\csA\csBsubscript\csA\csBsubscript𝐩3\IfSubStr{y_{2}}{{\StrCut{y_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y_{2}}}\not\in\text{relint}(\operatorname{conv}\{C\})=\text{relint}(\operatorname{conv}\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{4}}{{\StrCut{p_{4}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{4}}},\IfSubStr{p_{3}}{{\StrCut{p_{3}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{3}}}\})}}}}}}}} and the vertex \IfSubStrp4\StrCutp4\csA\csB\csA\csB𝐩𝟒\IfSubStrsubscript𝑝4\StrCutsubscript𝑝4\csA\csBsubscript\csA\csBsubscript𝐩4\IfSubStr{p_{4}}{{\StrCut{p_{4}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{4}}}}} will be removed in the next minor cycle.

Currently, there are examples of exponential behavior for the simplex method for all known deterministic pivot rules. It is our aim to provide the same for insertion rules on Wolfe’s method. In the next subsection we will present the first exponential-time example using the minnorm insertion rule.

1.2 An exponential lower bound for Wolfe’s method

To understand our hard instance, it is helpful to consider first a simple instance that shows an inefficiency of Wolfe’s method. The example is a set of points where a point leaves and reenters the current corral: 4 points in 3superscript3\mathbb{R}^{3}, (1,0,0),(1/2,1/4,1),(1/2,1/4,1),(2,1/4,0)10012141121412140(1,0,0),(1/2,1/4,1),(1/2,1/4,-1),(-2,1/4,0). If one labels the points 1,2,3,412341,2,3,4, the sequence of corrals with the minnorm rule is 1,12,23,234,1411223234141,12,23,234,14, where point 111 enters, leaves and reenters (For succintness, sets of points like {a,b,c}𝑎𝑏𝑐\{a,b,c\} may be denoted abc𝑎𝑏𝑐abc.). The idea now is to recursively replace point 1 (that reenters) in this construction by a recursively constructed set of points whose corrals are then considered twice by Wolfe’s method. To simplify the proof, our construction uses a variation of this set of 4 points with an additional point and modified coordinates. This modified construction is depicted in Fig. 3, where point 1 corresponds to a set of points P(d2)𝑃𝑑2P(d-2), points 2,3 correspond to points \IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}}}}} and point 4 corresponds to points \IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝,\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}},\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}}.

The high-level idea of our exponential lower bound example is the following. We will inductively define a sequence of instances of increasing dimension of the minimum norm point problem. Given an instance in dimension d2𝑑2d-2, we will add a few dimensions and points so that, when given to Wolfe’s method, the number of corrals of the new augmented instance in dimension d𝑑d has about twice the number of corrals of the input instance in dimension d2𝑑2d-2. More precisely, our augmentation procedure takes an instance P(d2)𝑃𝑑2P(d-2) in d2superscript𝑑2\mathbb{R}^{d-2}, adds two new coordinates and adds four points, \IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝,\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝,\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}},\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}},\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}}}}}}, to get an instance P(d)𝑃𝑑P(d) in dsuperscript𝑑\mathbb{R}^{d}.

Points \IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}}}}} are defined so that the method on instance P(d)𝑃𝑑P(d) goes first through every corral given by the points in the prior configuration P(d2)𝑃𝑑2P(d-2) and then goes to corral \IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}}}}}. To achieve this under the minimum norm rule, the four new points have greater norm than any point in P(d2)𝑃𝑑2P(d-2) and they are in the geometric configuration sketched in Fig. 3.

Refer to caption
Refer to caption
Figure 3: Left: In this view of P(d)𝑃𝑑P(d), the point labeled P(d2)𝑃𝑑2P(d-2) represents all points from P(d2)𝑃𝑑2P(d-2) embedded into dsuperscript𝑑\mathbb{R}^{d}. The axis labeled d2superscript𝑑2\mathbb{R}^{d-2} represents the (d2)𝑑2(d-2)-dimensional subspace, span(P(d2))span𝑃𝑑2\operatorname{span}\left(P(d-2)\right) projected into span(\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐)span\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝2\operatorname{span}\left(\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}\right)}}. Right: A two-dimensional view of P(d)𝑃𝑑P(d) projected along the xdsubscript𝑥𝑑x_{d} coordinate axis.

At this time, no point in P(d2)𝑃𝑑2P(d-2) is in the current corral and so, if a point in P(d2)𝑃𝑑2P(d-2) is part of the optimal corral, it will have to reenter, which is expensive. Points \IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝,\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}},\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}} are defined so that \IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}} is a corral after \IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}}}}}, but now every point in P(d2)𝑃𝑑2P(d-2) is improving according to Wolfe’s criterion and may enter again. Specifically, every corral in P(d2)𝑃𝑑2P(d-2), with \IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}} appended, is visited again.

Before we start describing the exponential example in detail, we wish to review preliminary lemmas of independent interest which will be used in the arguments. The first lemma demonstrates that orthogonality between finite point sets allows us to easily describe the affine minimizer of their union. Figure 4 shows two such situations, one in which the affine hull of the union of the point sets span all of 3superscript3\mathbb{R}^{3} and one in which it does not.

Refer to caption
Refer to caption
Figure 4: Examples of Lemma 3. Left: the affine hull of PQ𝑃𝑄P\cup Q is not full dimensional, and thus the affine minimizer lies at \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}}} along the line segment connecting \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrp\StrCutp\csA\csB\csA\csB𝐩\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csB𝐩\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}}}}} and \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}}. Right: the convex hull of PQ𝑃𝑄P\cup Q is full-dimensional and thus the affine hull of PQ𝑃𝑄P\cup Q includes O𝑂O which is the affine minimizer.
Lemma 3.

Let Ad𝐴superscript𝑑A\subseteq\mathbb{R}^{d} be a proper linear subspace. Let PA𝑃𝐴P\subseteq A be a non-empty finite set. Let QA𝑄superscript𝐴perpendicular-toQ\subseteq A^{\perp} be another non-empty finite set. Let \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} be the minimum norm point in affPaff𝑃\operatorname{aff}P. Let \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} be the minimum norm point in affQaff𝑄\operatorname{aff}Q. Let \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}}} be the minimum norm point in aff(PQ)aff𝑃𝑄\operatorname{aff}(P\cup Q). We have:

  1. 1.

    \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}}} is the minimum norm point in [\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱,\IfSubStry\StrCuty\csA\csB\csA\csB𝐲]\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲[\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}},\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}]}}}} and therefore, if \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\neq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}} or \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\neq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}}, then \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳=λ\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱+(1λ)\IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳𝜆\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱1𝜆\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}=\lambda\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}+(1-\lambda)\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}}}}}} with λ=\IfSubStry\StrCuty\csA\csB\csA\csB𝐲22\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22+\IfSubStry\StrCuty\csA\csB\csA\csB𝐲22𝜆subscriptsuperscriptdelimited-∥∥\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲22subscriptsuperscriptdelimited-∥∥\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22subscriptsuperscriptdelimited-∥∥\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲22\lambda=\frac{\lVert\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\rVert^{2}_{2}}{\lVert\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}+\lVert\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\rVert^{2}_{2}}}}}}}}.

  2. 2.

    If \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\neq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}} and \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\neq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}}, then \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}}} is a strict convex combination of \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} and \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}}.

  3. 3.

    If \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\neq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}}, \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\neq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}} and P𝑃P and Q𝑄Q are corrals, then PQ𝑃𝑄P\cup Q is also a corral.

Proof.

If \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStry\StrCuty\csA\csB\csA\csB𝐲=\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}=\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}}}} then part 1 follows immediately. If at least one of \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱,\IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}},\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}}}} is non-zero, then they are also distinct by the orthogonality assumption. Given two distinct points \IfSubStra\StrCuta\csA\csB\csA\csB𝐚,\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}},\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}}}, one can show that the minimum norm point in the line through them is λ\IfSubStra\StrCuta\csA\csB\csA\csB𝐚+(1λ)\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛𝜆\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚1𝜆\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\lambda\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}+(1-\lambda)\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}}} where λ=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛T(\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛\IfSubStra\StrCuta\csA\csB\csA\csB𝐚)/\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛\IfSubStra\StrCuta\csA\csB\csA\csB𝐚22𝜆\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csBsuperscript𝐛𝑇\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚subscriptsuperscriptdelimited-∥∥\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚22\lambda=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}^{T}(\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}-\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}})/\lVert\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}-\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}\rVert^{2}_{2}}}}}}}}}}}. For points \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱,\IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}},\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}}}} as in the statement, the minimum norm point in aff(\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStry\StrCuty\csA\csB\csA\csB𝐲)aff\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\operatorname{aff}(\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\cup\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}})}}}} is \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳=λ\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱+(1λ)\IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csBsuperscript𝐳𝜆\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱1𝜆\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}^{\prime}=\lambda\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}+(1-\lambda)\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}}}}}} with λ=\IfSubStry\StrCuty\csA\csB\csA\csB𝐲22\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22+\IfSubStry\StrCuty\csA\csB\csA\csB𝐲22[0,1]𝜆subscriptsuperscriptdelimited-∥∥\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲22subscriptsuperscriptdelimited-∥∥\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22subscriptsuperscriptdelimited-∥∥\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲2201\lambda=\frac{\lVert\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\rVert^{2}_{2}}{\lVert\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}+\lVert\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\rVert^{2}_{2}}\in[0,1]}}}}}}. Thus, \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csBsuperscript𝐳\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}^{\prime}}} is also the minimum norm point in [\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱,\IfSubStry\StrCuty\csA\csB\csA\csB𝐲]\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲[\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}},\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}]}}}}. We will now use the optimality condition in Lemma 2 to conclude that \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳=\IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csBsuperscript𝐳\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}^{\prime}=\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}}}}}. Let \IfSubStrp\StrCutp\csA\csB\csA\csB𝐩P\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csB𝐩𝑃\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}\in P}}. Then \IfSubStrp\StrCutp\csA\csB\csA\csB𝐩T\IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csBsuperscript𝐩𝑇\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csBsuperscript𝐳\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}^{T}\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}^{\prime}}}}} can be computed in two steps: First project \IfSubStrp\StrCutp\csA\csB\csA\csB𝐩\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csB𝐩\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}}} onto span(\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱,\IfSubStry\StrCuty\csA\csB\csA\csB𝐲)span\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\operatorname{span}\left(\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}},\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\right)}}}} (a subspace that contains \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csBsuperscript𝐳\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}^{\prime}}}). This projection is \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} by optimality of \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}}. Then project onto \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csBsuperscript𝐳\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}^{\prime}}}. This shows that \IfSubStrp\StrCutp\csA\csB\csA\csB𝐩T\IfSubStrz\StrCutz\csA\csB\csA\csB𝐳=\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱T\IfSubStrz\StrCutz\csA\csB\csA\csB𝐳=\IfSubStrz\StrCutz\csA\csB\csA\csB𝐳22\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csBsuperscript𝐩𝑇\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csBsuperscript𝐳\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csBsuperscript𝐱𝑇\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csBsuperscript𝐳subscriptsuperscriptdelimited-∥∥\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csBsuperscript𝐳22\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}^{T}\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}^{\prime}=\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}^{T}\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}^{\prime}=\lVert\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}^{\prime}\rVert^{2}_{2}}}}}}}}}}}. A similar calculation shows \IfSubStrq\StrCutq\csA\csB\csA\csB𝐪T\IfSubStrz\StrCutz\csA\csB\csA\csB𝐳=\IfSubStrz\StrCutz\csA\csB\csA\csB𝐳22\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csBsuperscript𝐪𝑇\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csBsuperscript𝐳subscriptsuperscriptdelimited-∥∥\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csBsuperscript𝐳22\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}^{T}\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}^{\prime}=\lVert\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}^{\prime}\rVert^{2}_{2}}}}}}} for any \IfSubStrq\StrCutq\csA\csB\csA\csB𝐪Q\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪𝑄\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\in Q}}. We conclude that \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csBsuperscript𝐳\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}^{\prime}}} is the minimum norm point in aff(PQ)aff𝑃𝑄\operatorname{aff}(P\cup Q). This proves part 1.

Part 2 follows from our expression for λ𝜆\lambda above, which is in (0,1)01(0,1) when \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\neq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}} and \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\neq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}}.

Under the assumptions of part 3, we have that \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} is a strict convex combination of P𝑃P and \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} is a strict convex combination of Q𝑄Q. This combined with the conclusion of part 2 gives that \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}}} is a strict convex combination of PQ𝑃𝑄P\cup Q. The claim in part 3 follows. ∎

The following lemma shows conditions under which, if we have a corral and a new point that only has components along the minimum norm point of the corral and along new coordinates, then the corral with the new point added is also a corral. Moreover, the new minimum norm point is a convex combination of the old minimum norm point and the added point. Figure 5 gives an example of such a situation in 3superscript3\mathbb{R}^{3}. Denote by span(M)span𝑀\operatorname{span}\left(M\right) the linear span of the set M𝑀M.

Refer to caption
Figure 5: An example of Lemma 4 in which point \IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}}} satisfies all assumptions and P{\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪}𝑃\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪P\cup\{\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\}}} is a corral. The hyperplanes are labeled with their defining properties and demonstrate that \IfSubStrq\StrCutq\csA\csB\csA\csB𝐪T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱<min{\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱2,\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪2}.\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csBsuperscript𝐪𝑇\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱superscriptnorm\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱2superscriptnorm\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪2\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}^{T}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}<\min\{\|\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\|^{2},\|\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\|^{2}\}.}}}}}}}} The minimizer of P{\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪}𝑃\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪P\cup\{\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\}}} lies at the intersection of the blue, vertical axis and conv(P{\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪}).conv𝑃\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\operatorname{conv}(P\cup\{\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\}).}}
Lemma 4.

Let Pd𝑃superscript𝑑P\subseteq\mathbb{R}^{d} be a finite set of points that is a corral. Let \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} be the minimum norm point in affPaff𝑃\operatorname{aff}P. Let \IfSubStrq\StrCutq\csA\csB\csA\csB𝐪span(\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱,span(P))\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\in\operatorname{span}\bigl{(}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}},\operatorname{span}\left(P\right)^{\perp}\bigr{)}}}}}, and assume \IfSubStrq\StrCutq\csA\csB\csA\csB𝐪T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱<min{\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪22,\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22}\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csBsuperscript𝐪𝑇\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱subscriptsuperscriptdelimited-∥∥\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪22subscriptsuperscriptdelimited-∥∥\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}^{T}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}<\min\bigl{\{}\lVert\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\rVert^{2}_{2},\lVert\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}\bigr{\}}}}}}}}}}. Then P{\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪}𝑃\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪P\cup\{\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\}}} is a corral. Moreover, the minimum norm point \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} in conv(P{\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪})conv𝑃\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\operatorname{conv}(P\cup\{\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\})}} is a (strict) convex combination of \IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}}} and the minimum norm point of P𝑃P: \IfSubStry\StrCuty\csA\csB\csA\csB𝐲=λ\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱+(1λ)\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲𝜆\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱1𝜆\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}=\lambda\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}+(1-\lambda)\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}}}}}}} with λ=\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪T(\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱)/\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22𝜆\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csBsuperscript𝐪𝑇\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱subscriptsuperscriptdelimited-∥∥\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22\lambda=\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}^{T}(\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}})/\lVert\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}}}}}}}}}}}.

Proof.

Let \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} be the minimum norm point in aff(P{\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪})aff𝑃\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\operatorname{aff}({P\cup\{\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\}})}}. Intuitively, \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} should be the minimum norm point in the line through \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} and \IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}}}. We will characterize \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} and show that it is a strict convex combination of P{\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪}𝑃\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪P\cup\{\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\}}} (which implies that it is a corral). Given two points \IfSubStra\StrCuta\csA\csB\csA\csB𝐚,\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}},\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}}}, one can show that the minimum norm point in the line through them is λ\IfSubStra\StrCuta\csA\csB\csA\csB𝐚+(1λ)\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛𝜆\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚1𝜆\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\lambda\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}+(1-\lambda)\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}}} where λ=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛T(\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛\IfSubStra\StrCuta\csA\csB\csA\csB𝐚)/\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛\IfSubStra\StrCuta\csA\csB\csA\csB𝐚22𝜆\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csBsuperscript𝐛𝑇\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚subscriptsuperscriptdelimited-∥∥\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚22\lambda=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}^{T}(\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}-\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}})/\lVert\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}-\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}\rVert^{2}_{2}}}}}}}}}}}. Thus, we define \IfSubStry\StrCuty\csA\csB\csA\csB𝐲=λ\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱+(1λ)\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲𝜆\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱1𝜆\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}=\lambda\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}+(1-\lambda)\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}}}}}}} with λ=\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪T(\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱)/\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22𝜆\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csBsuperscript𝐪𝑇\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱subscriptsuperscriptdelimited-∥∥\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22\lambda=\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}^{T}(\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}})/\lVert\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}}}}}}}}}}}. By definition we have \IfSubStry\StrCuty\csA\csB\csA\csB𝐲aff(P{\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪})\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲aff𝑃\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\in\operatorname{aff}(P\cup\{\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\})}}}}.

The minimality of the norm of \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} follows from the optimality condition in Lemma 2. It holds by construction for \IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}}}. It also holds for \IfSubStrp\StrCutp\csA\csB\csA\csB𝐩P\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csB𝐩𝑃\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}\in P}}: The projection of \IfSubStrp\StrCutp\csA\csB\csA\csB𝐩\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csB𝐩\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}}} onto \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} can be computed in two steps. First, project onto span(\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱,\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪)span\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\operatorname{span}\left(\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}},\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\right)}}}} (a subspace that contains \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}}), which is \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} by optimality of \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}}. Then project onto \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}}. This shows that \IfSubStrp\StrCutp\csA\csB\csA\csB𝐩T\IfSubStry\StrCuty\csA\csB\csA\csB𝐲=\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱T\IfSubStry\StrCuty\csA\csB\csA\csB𝐲=\IfSubStry\StrCuty\csA\csB\csA\csB𝐲2\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csBsuperscript𝐩𝑇\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csBsuperscript𝐱𝑇\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲superscriptdelimited-∥∥\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲2\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}^{T}\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}=\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}^{T}\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}={\lVert\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\rVert}^{2}}}}}}}}}}} (the second equality by optimality of \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}}). We conclude that \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} is of minimum norm in affP{\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪}aff𝑃\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\operatorname{aff}{P\cup\{\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\}}}}.

To conclude that P{\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪}𝑃\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪P\cup\{\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\}}} is a corral, we show that \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} is a strict convex combination of points P{\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪}𝑃\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪P\cup\{\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\}}}. It is enough to show that \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} is a strict convex combination of \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} and \IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}}}. We have λ=\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪T(\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱)/\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22=\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪22\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22>0𝜆\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csBsuperscript𝐪𝑇\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱subscriptsuperscriptdelimited-∥∥\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22subscriptsuperscriptdelimited-∥∥\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪22\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csBsuperscript𝐪𝑇\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱subscriptsuperscriptdelimited-∥∥\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱220\lambda=\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}^{T}(\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}})/\lVert\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}=\frac{\lVert\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\rVert^{2}_{2}-\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}^{T}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}{\lVert\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}}>0}}}}}}}}}}}}}}}}}}}} by assumption. We also have 1λ=\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱T(\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱)/\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22=\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱22>01𝜆\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csBsuperscript𝐱𝑇\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱subscriptsuperscriptdelimited-∥∥\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22subscriptsuperscriptdelimited-∥∥\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱22\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csBsuperscript𝐪𝑇\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱subscriptsuperscriptdelimited-∥∥\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱2201-\lambda=-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}^{T}(\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}})/\lVert\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}=\frac{\lVert\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}-\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}^{T}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}{\lVert\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\rVert^{2}_{2}}>0}}}}}}}}}}}}}}}}}}}} by assumption. ∎

Our last lemma shows that if we have points in two orthogonal subspaces, A𝐴A and Asuperscript𝐴perpendicular-toA^{\perp}, then adding a point from Asuperscript𝐴perpendicular-toA^{\perp} to a set from A𝐴A does not cause any points from A𝐴A that previously did not violate Wolfe’s criterion (for the affine minimizer) to violate it. Figure 6 demonstrates this situation.

Refer to caption
Figure 6: An example of Lemma 5 in which adding points Q𝑄Q from Asuperscript𝐴perpendicular-toA^{\perp} to points P𝑃P from A𝐴A create a new affine minimizer, \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}}}, but the points satisfying Wolfe’s criterion in A𝐴A remain the same. Note that both hyperplanes intersect at the affine minimizer of P𝑃P, so the halfspace intersections with A𝐴A are the same.
Lemma 5.

For a point \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}}} define H\IfSubStrz\StrCutz\csA\csB\csA\csB𝐳={\IfSubStrw\StrCutw\csA\csB\csA\csB𝐰n:\IfSubStrw\StrCutw\csA\csB\csA\csB𝐰T\IfSubStrz\StrCutz\csA\csB\csA\csB𝐳<\IfSubStrz\StrCutz\csA\csB\csA\csB𝐳22}subscript𝐻\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳\IfSubStr𝑤\StrCut𝑤\csA\csBsubscript\csA\csB𝐰superscript𝑛:\IfSubStr𝑤\StrCut𝑤\csA\csBsubscript\csA\csBsuperscript𝐰𝑇\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳subscriptsuperscriptdelimited-∥∥\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳22H_{\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}}=\{\IfSubStr{w}{{\StrCut{w}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{w}}\in\mathbb{R}^{n}\mathrel{:}\IfSubStr{w}{{\StrCut{w}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{w}}^{T}\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}<\lVert\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}\rVert^{2}_{2}\}}}}}}}}}}}. Suppose that we have an instance of the minimum norm point problem in dsuperscript𝑑\mathbb{R}^{d} as follows: Some points, P𝑃P, live in a proper linear subspace A𝐴A and some, Q𝑄Q, in Asuperscript𝐴perpendicular-toA^{\perp}. Let \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} be the minimum norm point in affPaff𝑃\operatorname{aff}P and \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} be the minimum norm point in aff(PQ)aff𝑃𝑄\operatorname{aff}(P\cup Q). Then H\IfSubStry\StrCuty\csA\csB\csA\csB𝐲A=H\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱Asubscript𝐻\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲𝐴subscript𝐻\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝐴H_{\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}\cap A=H_{\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}\cap A}}}}.

Proof.

Let B𝐵B be the span of \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} and Q𝑄Q. We first show \IfSubStry\StrCuty\csA\csB\csA\csB𝐲B\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲𝐵\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\in B}}. To see this, suppose not. Decompose \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} as \IfSubStry\StrCuty\csA\csB\csA\csB𝐲=λ\IfSubStrv\StrCutv\csA\csB\csA\csB𝐯+\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪Qμq\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲𝜆\IfSubStr𝑣\StrCut𝑣\csA\csBsubscript\csA\csB𝐯subscript\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪𝑄subscript𝜇𝑞\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}=\lambda\IfSubStr{v}{{\StrCut{v}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v}}+\sum_{\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\in Q}\mu_{q}\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}}}}}}}}}, where \IfSubStrv\StrCutv\csA\csB\csA\csB𝐯affP\IfSubStr𝑣\StrCut𝑣\csA\csBsubscript\csA\csB𝐯aff𝑃\IfSubStr{v}{{\StrCut{v}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v}}\in\operatorname{aff}P}} and λ+μq=1𝜆subscript𝜇𝑞1\lambda+\sum\mu_{q}=1. Decompose \IfSubStrv\StrCutv\csA\csB\csA\csB𝐯\IfSubStr𝑣\StrCut𝑣\csA\csBsubscript\csA\csB𝐯\IfSubStr{v}{{\StrCut{v}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v}}}} as \IfSubStrv\StrCutv\csA\csB\csA\csB𝐯=\IfSubStru\StrCutu\csA\csB\csA\csB𝐮+\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑣\StrCut𝑣\csA\csBsubscript\csA\csB𝐯\IfSubStr𝑢\StrCut𝑢\csA\csBsubscript\csA\csB𝐮\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{v}{{\StrCut{v}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v}}=\IfSubStr{u}{{\StrCut{u}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{u}}+\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}}}}}} where \IfSubStru\StrCutu\csA\csB\csA\csB𝐮\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱perpendicular-to\IfSubStr𝑢\StrCut𝑢\csA\csBsubscript\csA\csB𝐮\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{u}{{\StrCut{u}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{u}}\perp\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}}}} and \IfSubStru\StrCutu\csA\csB\csA\csB𝐮A\IfSubStr𝑢\StrCut𝑢\csA\csBsubscript\csA\csB𝐮𝐴\IfSubStr{u}{{\StrCut{u}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{u}}\in A}} (this is possible because \IfSubStrv\StrCutv\csA\csB\csA\csB𝐯\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑣\StrCut𝑣\csA\csBsubscript\csA\csB𝐯\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{v}{{\StrCut{v}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v}}-\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}}}} is orthogonal to \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}}, by optimality of \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}}, Lemma 2). Thus, \IfSubStry\StrCuty\csA\csB\csA\csB𝐲=λ\IfSubStru\StrCutu\csA\csB\csA\csB𝐮+λ\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱+\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪Qμq\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲𝜆\IfSubStr𝑢\StrCut𝑢\csA\csBsubscript\csA\csB𝐮𝜆\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱subscript\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪𝑄subscript𝜇𝑞\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}=\lambda\IfSubStr{u}{{\StrCut{u}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{u}}+\lambda\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}+\sum_{\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\in Q}\mu_{q}\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}}}}}}}}}}} with λ\IfSubStru\StrCutu\csA\csB\csA\csB𝐮𝜆\IfSubStr𝑢\StrCut𝑢\csA\csBsubscript\csA\csB𝐮\lambda\IfSubStr{u}{{\StrCut{u}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{u}}}} orthogonal to λ\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱+\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪Qμq\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪𝜆\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱subscript\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪𝑄subscript𝜇𝑞\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\lambda\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}+\sum_{\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\in Q}\mu_{q}\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}}}}}}}. This implies that \IfSubStry\StrCuty\csA\csB\csA\csB𝐲=λ\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱+\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪Qμq\IfSubStrq\StrCutq\csA\csB\csA\csB𝐪\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csBsuperscript𝐲𝜆\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱subscript\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪𝑄subscript𝜇𝑞\IfSubStr𝑞\StrCut𝑞\csA\csBsubscript\csA\csB𝐪\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}^{\prime}=\lambda\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}+\sum_{\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}\in Q}\mu_{q}\IfSubStr{q}{{\StrCut{q}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q}}}}}}}}}} has a smaller norm than \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} and \IfSubStry\StrCuty\csA\csB\csA\csB𝐲aff(PQ)\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csBsuperscript𝐲aff𝑃𝑄\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}^{\prime}\in\operatorname{aff}(P\cup Q)}}. This is a contradiction.

To conclude, we have H\IfSubStry\StrCuty\csA\csB\csA\csB𝐲Asubscript𝐻\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲𝐴H_{\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}\cap A}} is a halfspace in A𝐴A whose normal is parallel to the projection of \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} onto A𝐴A (It is helpful to understand how to compute the intersection of a hyperplane with a subspace. If T\IfSubStrg\StrCutg\csA\csB\csA\csB𝐠={\IfSubStrw\StrCutw\csA\csB\csA\csB𝐰:\IfSubStrw\StrCutw\csA\csB\csA\csB𝐰\IfSubStrg\StrCutg\csA\csB\csA\csB𝐠=1}subscript𝑇\IfSubStr𝑔\StrCut𝑔\csA\csBsubscript\csA\csB𝐠conditional-set\IfSubStr𝑤\StrCut𝑤\csA\csBsubscript\csA\csB𝐰\IfSubStr𝑤\StrCut𝑤\csA\csBsubscript\csA\csB𝐰\IfSubStr𝑔\StrCut𝑔\csA\csBsubscript\csA\csB𝐠1T_{\IfSubStr{g}{{\StrCut{g}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{g}}}=\{\IfSubStr{w}{{\StrCut{w}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{w}}:\IfSubStr{w}{{\StrCut{w}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{w}}\cdot\IfSubStr{g}{{\StrCut{g}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{g}}=1\}}}}}}}}} and S𝑆S is a linear subspace, then T\IfSubStrg\StrCutg\csA\csB\csA\csB𝐠S={\IfSubStrw\StrCutw\csA\csB\csA\csB𝐰S:\IfSubStrw\StrCutw\csA\csB\csA\csB𝐰projS\IfSubStrg\StrCutg\csA\csB\csA\csB𝐠=1}subscript𝑇\IfSubStr𝑔\StrCut𝑔\csA\csBsubscript\csA\csB𝐠𝑆conditional-set\IfSubStr𝑤\StrCut𝑤\csA\csBsubscript\csA\csB𝐰𝑆\IfSubStr𝑤\StrCut𝑤\csA\csBsubscript\csA\csB𝐰subscriptproj𝑆\IfSubStr𝑔\StrCut𝑔\csA\csBsubscript\csA\csB𝐠1T_{\IfSubStr{g}{{\StrCut{g}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{g}}}\cap S=\{\IfSubStr{w}{{\StrCut{w}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{w}}\in S:\IfSubStr{w}{{\StrCut{w}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{w}}\cdot\operatorname{proj}_{S}\IfSubStr{g}{{\StrCut{g}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{g}}=1\}}}}}}}}}. In other words, in order to intersect a hyperplane with a subspace we project the normal.) That is, it is parallel to \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}}. But that halfspace must also contain \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} on its boundary. Thus, that halfspace is equal to H\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱Asubscript𝐻\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝐴H_{\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}\cap A}}. ∎

We will now describe our example in detail. The simplest version of our construction uses square roots and real numbers. We present instead a version with a few additional tweaks so that it only involves rational numbers.

Let P(1)={1}𝑃11P(1)=\{1\}\subseteq\mathbb{Q}. For odd d>1𝑑1d>1, let P(d)𝑃𝑑P(d) be a list of points in dsuperscript𝑑\mathbb{Q}^{d} defined inductively as follows: Let \IfSubStrod\StrCutod\csA\csB\csA\csB𝐨𝐝\IfSubStrsuperscriptsubscript𝑜𝑑\StrCutsuperscriptsubscript𝑜𝑑\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝\IfSubStr{o_{d}^{*}}{{\StrCut{o_{d}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d}^{*}}}}} denote the minimum norm point in convP(d)conv𝑃𝑑\operatorname{conv}P(d). Let Md:=max\IfSubStrp\StrCutp\csA\csB\csA\csB𝐩P(d)\IfSubStrp\StrCutp\csA\csB\csA\csB𝐩1M_{d}:=\max_{\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}\in P(d)}{\lVert\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}\rVert}_{1}}}}}, which is a rational upper bound to the maximum 222-norm among the points in P(d)𝑃𝑑P(d). (For a first reading one can let Mdsubscript𝑀𝑑M_{d} be the maximum 222-norm among points in P(d)𝑃𝑑P(d), which leads to an essentially equivalent instance except that it is not rational.) Similarly, let md=\IfSubStrod\StrCutod\csA\csB\csA\csB𝐨𝐝subscript𝑚𝑑subscriptdelimited-∥∥\IfSubStrsuperscriptsubscript𝑜𝑑\StrCutsuperscriptsubscript𝑜𝑑\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝m_{d}={\lVert\IfSubStr{o_{d}^{*}}{{\StrCut{o_{d}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d}^{*}}}\rVert}_{\infty}}}, which is a rational lower bound to the minimum norm among points in convP(d)conv𝑃𝑑\operatorname{conv}P(d). (Again, for a first reading one can define md=\IfSubStrod\StrCutod\csA\csB\csA\csB𝐨𝐝2subscript𝑚𝑑subscriptdelimited-∥∥\IfSubStrsuperscriptsubscript𝑜𝑑\StrCutsuperscriptsubscript𝑜𝑑\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝2m_{d}={\lVert\IfSubStr{o_{d}^{*}}{{\StrCut{o_{d}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d}^{*}}}\rVert}_{2}}} which leads to an essentially equivalent instance, except that it is not rational.)

We finally present the example. If we identify P(d)𝑃𝑑P(d) with a matrix where the points are rows, then the points in P(d)𝑃𝑑P(d) are given by the following block matrix:

P(d)=(P(d2)0012\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐md24Md212\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐md24(Md2+1)0md24Md2+20md24(Md2+3).).𝑃𝑑matrix𝑃𝑑20012\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝2subscript𝑚𝑑24subscript𝑀𝑑212\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝2subscript𝑚𝑑24subscript𝑀𝑑210subscript𝑚𝑑24subscript𝑀𝑑220subscript𝑚𝑑24subscript𝑀𝑑23P(d)=\begin{pmatrix}P(d-2)&0&0\\ \frac{1}{2}\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}&\frac{m_{d-2}}{4}&M_{d-2}\\ \frac{1}{2}\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}&\frac{m_{d-2}}{4}&-(M_{d-2}+1)\\ 0&\frac{m_{d-2}}{4}&M_{d-2}+2\\ 0&\frac{m_{d-2}}{4}&-(M_{d-2}+3).\end{pmatrix}.}}}}

The last four rows of the matrix P(d)𝑃𝑑P(d) are the points \IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝,\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝,\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}},\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}},\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}}}}}} of the configuration. For a picture of the case of P(3)𝑃3P(3) see Figure 7.

Refer to caption
Refer to caption
Figure 7: Left: Three-dimensional view of P(3)𝑃3P(3). Right: A two-dimensional view of P(3)𝑃3P(3) projected along the x3subscript𝑥3x_{3} coordinate axis.

Remark:

First note that strictly speaking P(d2)d2𝑃𝑑2superscript𝑑2P(d-2)\subset\mathbb{Q}^{d-2}, and that we are defining an embedding of it into dsuperscript𝑑\mathbb{Q}^{d}, for which we have to use a recursive process. To avoid unnecessary notation, we will abuse the notation. The point \IfSubStrvd2\StrCutvd2\csA\csB\csA\csB𝐯𝐝𝟐\IfSubStrsubscript𝑣𝑑2\StrCutsubscript𝑣𝑑2\csA\csBsubscript\csA\csBsubscript𝐯𝐝2\IfSubStr{v_{d-2}}{{\StrCut{v_{d-2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d-2}}}}} denotes both a point of P(d2)𝑃𝑑2P(d-2) and of the subsequent P(d)𝑃𝑑P(d), i.e., \IfSubStrvd2\StrCutvd2\csA\csB\csA\csB𝐯𝐝𝟐=(\IfSubStrv\StrCutv\csA\csB\csA\csB𝐯,0,0)\IfSubStrsubscript𝑣𝑑2\StrCutsubscript𝑣𝑑2\csA\csBsubscript\csA\csBsubscript𝐯𝐝2\IfSubStr𝑣\StrCut𝑣\csA\csBsubscript\csA\csB𝐯00\IfSubStr{v_{d-2}}{{\StrCut{v_{d-2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d-2}}}=(\IfSubStr{v}{{\StrCut{v}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v}},0,0)}}}} will be the identical copy of \IfSubStrvd2\StrCutvd2\csA\csB\csA\csB𝐯𝐝𝟐\IfSubStrsubscript𝑣𝑑2\StrCutsubscript𝑣𝑑2\csA\csBsubscript\csA\csBsubscript𝐯𝐝2\IfSubStr{v_{d-2}}{{\StrCut{v_{d-2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d-2}}}}} within P(d)𝑃𝑑P(d), but we add two extra zero coordinates. Depending on the context \IfSubStrvd2\StrCutvd2\csA\csB\csA\csB𝐯𝐝𝟐\IfSubStrsubscript𝑣𝑑2\StrCutsubscript𝑣𝑑2\csA\csBsubscript\csA\csBsubscript𝐯𝐝2\IfSubStr{v_{d-2}}{{\StrCut{v_{d-2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d-2}}}}} will be understood as both a (d2)𝑑2(d-2)-dimensional vector or as a d𝑑d-dimensional vector (e.g., when doing dot products). The points of P(d2)𝑃𝑑2P(d-2) become a subset of the point configuration P(d)𝑃𝑑P(d) by padding extra zeros. See Figures 3 and 8 which illustrate this embedding and address our visualizations of these sets in three dimensions.

Refer to caption
Figure 8: As described in Figure 3, the axis labeled d2superscript𝑑2\mathbb{R}^{d-2} represents the (d2)𝑑2(d-2)-dimensional subspace span(P(d2))span𝑃𝑑2\operatorname{span}\left(P(d-2)\right) projected onto the one dimensional subspace span(\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐)span\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝2\operatorname{span}\left(\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}\right)}}. Here we illustrate that the projection of the set P(d2)𝑃𝑑2P(d-2) forms a ‘cloud’ of points and the convex hull of this projection has many fewer faces than the unprojected convex hull. For simplicity, we will visualize P(d2)𝑃𝑑2P(d-2) and subsets of P(d2)𝑃𝑑2P(d-2) as a single point in span(\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐)span\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝2\operatorname{span}\left(\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}\right)}} as in Figure 3.
Theorem 6.

Consider the execution of Wolfe’s method with the minnorm point rule on input P(d)𝑃𝑑P(d) where d=2k1𝑑2𝑘1d=2k-1. Then the sequence of corrals has length 52k145superscript2𝑘145\cdot 2^{k-1}-4.

Proof.

Points in P(d)𝑃𝑑P(d) are shown in order of increasing norm. Let \IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝,\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝,\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}},\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}},\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}}}}}} denote the last four points of P(d)𝑃𝑑P(d), respectively. Let C(d)𝐶𝑑C({d}) denote the ordered sequence of corrals in the execution of Wolfe’s method on P(d)𝑃𝑑P(d). Let O(d)𝑂𝑑O({d}) denote the last (optimal) corral in C(d)𝐶𝑑C({d}).

The rest of the proof will establish that the sequence of corrals C(d)𝐶𝑑C({d}) is

C(d2)𝐶𝑑2\displaystyle C({d-2})
O(d2)\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝𝑂𝑑2\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\displaystyle O({d-2})\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}}}
\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\displaystyle\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}}}}}
\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\displaystyle\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}}}}}
\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\displaystyle\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}}
C(d2)\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝𝐶𝑑2\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\displaystyle C({d-2})\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}}

(where a concatenation such as C(d2)\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝𝐶𝑑2\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝C({d-2})\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}} denotes every corral in C(d2)𝐶𝑑2C({d-2}) with \IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}}} and \IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}} added). After this sequence of corrals is established, we solve the resulting recurrence relation: Let T(d)𝑇𝑑T(d) denote the length of C(d)𝐶𝑑C({d}). We have T(1)=1𝑇11T(1)=1, T(d)=2T(d2)+4𝑇𝑑2𝑇𝑑24T(d)=2T(d-2)+4. This implies T(d)=52k14𝑇𝑑5superscript2𝑘14T(d)=5\cdot 2^{k-1}-4 (with d=2k1𝑑2𝑘1d=2k-1).

All we must show now to complete the proof of Theorem 6 is that C(d)𝐶𝑑C({d}) has indeed the stated recursive form. We do this by induction on d𝑑d. The steps of the proof are written as claims with individual proofs.

By construction, C(d)𝐶𝑑C({d}) starts with C(d2)𝐶𝑑2C({d-2}). This happens because points in C(d)𝐶𝑑C({d}) are ordered by increasing norm and the proof proceeds inductively as follows: The first corral in C(d)𝐶𝑑C({d}) is the minimum norm point in P(d)𝑃𝑑P(d), which is also the first corral in C(d2)𝐶𝑑2C({d-2}). Suppose now that the first t𝑡t corrals of C(d)𝐶𝑑C({d}) coincide with the first t𝑡t corrals of C(d2)𝐶𝑑2C({d-2}). We will show that corral t+1𝑡1t+1 in C(d)𝐶𝑑C({d}) is the same as corral t+1𝑡1t+1 in C(d2)𝐶𝑑2C({d-2}). To see this, it is enough to see that the set of points in P(d)𝑃𝑑P(d) that can enter (improving points) contains the point that enters in C(d2)𝐶𝑑2C({d-2}) (with two zeros appended) and contains no point of smaller norm. This two-part claim is true because the two new zero coordinates play no role in this and all points in P(d)𝑃𝑑P(d) but not in P(d2)𝑃𝑑2P(d-2) have a larger norm than any point in P(d)𝑃𝑑P(d).

Once O(d2)𝑂𝑑2O({d-2}) is reached (with minimum norm point \IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝2\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}}}), the set of improving points, as established by Wolfe’s criterion, consist of {\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝,\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝,\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝}\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\{\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}},\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}},\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}\}}}}}}}}}. Now, because we are using the minimum-norm insertion rule, the next point to enter is \IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}}}.

Claim 1.

O(d2)\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝𝑂𝑑2\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝O({d-2})\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}}} is a corral.

Proof of Claim.

This is a special case of Lemma 4. We have \IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝=(\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐/2,md2/4,Md2)\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝22subscript𝑚𝑑24subscript𝑀𝑑2\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}=(\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}/2,m_{d-2}/4,M_{d-2})}}}}. We just need to verify the two inequalities in Lemma 4:

(\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐)T\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝=\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐22/2<\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐22<\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝22.superscript\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝2𝑇\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝subscriptsuperscriptdelimited-∥∥\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝2222subscriptsuperscriptdelimited-∥∥\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝222subscriptsuperscriptdelimited-∥∥\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝22(\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}})^{T}{\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}}=\lVert\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}\rVert^{2}_{2}/2<\lVert\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}\rVert^{2}_{2}<\lVert\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}\rVert^{2}_{2}.}}}}}}}}}}

Claim 2.

The next improving point to enter is \IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}}}.

Proof of Claim.

We first check that no point in P(d2)𝑃𝑑2P(d-2) can enter. From Lemma 4 we know the optimal point \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} in corral O(d2)\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝𝑂𝑑2\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝O({d-2})\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}}} explicitly in terms of the optimal point \IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝2\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}}} of O(d2)𝑂𝑑2O({d-2}) and \IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}}}, namely \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} is a convex combination λ\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐+(1λ)\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝𝜆\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝21𝜆\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\lambda\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}+(1-\lambda)\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}}}}}, with λ=\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝22\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝T\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐22𝜆subscriptsuperscriptdelimited-∥∥\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝22\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsuperscriptsubscript𝐩𝐝𝑇\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝2subscriptsuperscriptdelimited-∥∥\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝222\lambda=\frac{\lVert\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}\rVert^{2}_{2}-{\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}}^{T}\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}}{\lVert\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}-\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}\rVert^{2}_{2}}}}}}}}}}}}. Let \IfSubStrp\StrCutp\csA\csB\csA\csB𝐩P(d2)\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csB𝐩𝑃𝑑2\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}\in P(d-2)}}. We check that it cannot enter via Wolfe’s criterion. We compute \IfSubStrp\StrCutp\csA\csB\csA\csB𝐩T\IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csBsuperscript𝐩𝑇\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}^{T}\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}}}} in two steps: First project \IfSubStrp\StrCutp\csA\csB\csA\csB𝐩\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csB𝐩\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}}} onto span(\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐,\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝)span\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝2\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\operatorname{span}\left(\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}},\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}\right)}}}} (a subspace that contains \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}}). This projection is longer than \IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝2\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}}} by optimality of \IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝2\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}}}. Then project onto \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}}. This shows that \IfSubStrp\StrCutp\csA\csB\csA\csB𝐩T\IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐T\IfSubStry\StrCuty\csA\csB\csA\csB𝐲=\IfSubStry\StrCuty\csA\csB\csA\csB𝐲22\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csBsuperscript𝐩𝑇\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsuperscriptsubscript𝐨𝐝2𝑇\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲subscriptsuperscriptdelimited-∥∥\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲22\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}^{T}\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\geq{\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}}^{T}\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}=\lVert\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\rVert^{2}_{2}}}}}}}}}}} and \IfSubStrp\StrCutp\csA\csB\csA\csB𝐩\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csB𝐩\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}}} cannot enter as it is not an improving point according to Wolfe’s criterion.

By construction, \IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}}} is closer to the origin than \IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝,\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}},\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}}, so to conclude it is enough to check that \IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}}} is an improving point per Wolfe’s criterion. Compute

\IfSubStry\StrCuty\csA\csB\csA\csB𝐲T\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csBsuperscript𝐲𝑇\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\displaystyle\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}^{T}\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}}}}} =λ(\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐)T\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝+(1λ)\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝T\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝absent𝜆superscript\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝2𝑇\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝1𝜆\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsuperscriptsubscript𝐩𝐝𝑇\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\displaystyle=\lambda(\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}})^{T}\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}+(1-\lambda)\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}^{T}\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}}}}}}}}}
λ2\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐22+(1λ)[14\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐22+116\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐22Md22Md2]absent𝜆2subscriptsuperscriptdelimited-∥∥\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝2221𝜆delimited-[]14subscriptsuperscriptdelimited-∥∥\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝222116subscriptsuperscriptdelimited-∥∥\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝222superscriptsubscript𝑀𝑑22subscript𝑀𝑑2\displaystyle\leq\frac{\lambda}{2}\lVert\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}\rVert^{2}_{2}+(1-\lambda)\left[\frac{1}{4}\lVert\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}\rVert^{2}_{2}+\frac{1}{16}\lVert\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}\rVert^{2}_{2}-M_{d-2}^{2}-M_{d-2}\right]}}}}}}
λ2\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐22absent𝜆2subscriptsuperscriptdelimited-∥∥\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝222\displaystyle\leq\frac{\lambda}{2}\lVert\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}\rVert^{2}_{2}}}

since by construction Md21subscript𝑀𝑑21M_{d-2}\geq 1 and \IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐21subscriptdelimited-∥∥\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝221{\lVert\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}\rVert}_{2}\leq 1}}. On the other hand,

\IfSubStry\StrCuty\csA\csB\csA\csB𝐲22subscriptsuperscriptdelimited-∥∥\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲22\displaystyle\lVert\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\rVert^{2}_{2}}} =λ2\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐22+(1λ)2\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝22+2λ(1λ)12\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐22absentsuperscript𝜆2subscriptsuperscriptdelimited-∥∥\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝222superscript1𝜆2subscriptsuperscriptdelimited-∥∥\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝222𝜆1𝜆12subscriptsuperscriptdelimited-∥∥\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝222\displaystyle=\lambda^{2}\lVert\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}\rVert^{2}_{2}+(1-\lambda)^{2}\lVert\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}\rVert^{2}_{2}+2\lambda(1-\lambda)\frac{1}{2}\lVert\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}\rVert^{2}_{2}}}}}}}
=λ\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐22+(1λ)2\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝22absent𝜆subscriptsuperscriptdelimited-∥∥\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝222superscript1𝜆2subscriptsuperscriptdelimited-∥∥\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝22\displaystyle=\lambda\lVert\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}\rVert^{2}_{2}+(1-\lambda)^{2}\lVert\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}\rVert^{2}_{2}}}}}
λ\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐22.absent𝜆subscriptsuperscriptdelimited-∥∥\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝222\displaystyle\geq\lambda\lVert\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}\rVert^{2}_{2}.}}

Thus, \IfSubStry\StrCuty\csA\csB\csA\csB𝐲T\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝<\IfSubStry\StrCuty\csA\csB\csA\csB𝐲2\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csBsuperscript𝐲𝑇\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝superscriptdelimited-∥∥\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲2\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}^{T}\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}<{\lVert\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\rVert}^{2}}}}}}}, that is, \IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}}} is an improving point. ∎

Claim 3.

The current set of points, O(d2){\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝}𝑂𝑑2\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝O({d-2})\cup\{\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}\}}}}}, is not a corral. Points in O(d2)𝑂𝑑2O({d-2}) leave one by one. The next corral is \IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}}}}}.

Proof of Claim.

Instead of analyzing the iterations of Wolfe’s inner loop, we use the key fact, from Section 1.1, that the inner loop must end with a corral whose distance to the origin is strictly less than the previous corral. We look at the alternatives: This new corral cannot be O(d2){\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝}𝑂𝑑2\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝O({d-2})\cup\{\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}\}}} (the previous corral) or any subset of it because it would not decrease the distance. An analysis similar to that of 1 or basic trigonometry (in three-dimensions) shows that O(d2){\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝}𝑂𝑑2\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝O({d-2})\cup\{\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}\}}} is a corral whose distance to the origin is larger than the distance for O(d2){\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝}𝑂𝑑2\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝O({d-2})\cup\{\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}\}}}. See Fig. 9, where we show a projection, the perpendicular line segments to conv(O(d2),\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝)conv𝑂𝑑2\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\operatorname{conv}(O({d-2}),\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}})}} and conv(O(d2),\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝)conv𝑂𝑑2\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\operatorname{conv}(O({d-2}),\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}})}} are shown in dotted line after projection. Thus, the new corral cannot be O(d2){\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝}𝑂𝑑2\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝O({d-2})\cup\{\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}\}}} or any subset of it.

No set of the form S{\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝}𝑆\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝S\cup\{\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}\}}}}} with SO(d2)𝑆𝑂𝑑2S\subseteq O({d-2}) and S𝑆S non-empty can be a corral: To see this, first note that the minimum norm point in conv(S{\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝})conv𝑆\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\operatorname{conv}(S\cup\{\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}\})}}}} is in the segment [\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝]\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝[\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}]}}}}, specifically, point (\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐/2,md2/4,0)\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝22subscript𝑚𝑑240(\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}/2,m_{d-2}/4,0)}} (minimality follows from Wolfe’s criterion, Lemma 1). This implies that the minimum norm point in aff(S{\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝})aff𝑆\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\operatorname{aff}(S\cup\{\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}\})}}}} cannot be in the relative interior of conv(S{\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝})conv𝑆\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\operatorname{conv}(S\cup\{\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}\})}}}} when S𝑆S is non-empty (see Figure 10).

The only remaining non-empty subset is {\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝}\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\{\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}\}}}}}, which is the new corral. ∎

Refer to caption
Figure 9: A projection of the point set in the direction of xd1subscript𝑥𝑑1x_{d-1}. Any corral of the form S\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝𝑆\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝S\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}}} where SO(d2)𝑆𝑂𝑑2S\subset O({d-2}) would have distance larger than the previous corral, O(d2)\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝𝑂𝑑2\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝O({d-2})\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}}}.
Refer to caption
Refer to caption
Figure 10: The minimum norm point in conv(S{\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝})conv𝑆\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\operatorname{conv}(S\cup\{\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}\})}}}} is in the line segment between \IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}}} and \IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}}}.
Claim 4.

The set of improving points is now {\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝,\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝}\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\{\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}},\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}\}}}}}.

Proof of Claim.

Recall that the optimal point in corral {\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝}\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\{\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}\}}}}} has coordinates (\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐/2,md2/4,0)\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝22subscript𝑚𝑑240(\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}/2,m_{d-2}/4,0)}}. Thus, when computing distances and checking Wolfe’s criterion it is enough to do so in the two-dimensional situation depicted in Figure 11. Thus, a hyperplane orthogonal to the segment from the origin to (\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐/2,md2/4,0)\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝22subscript𝑚𝑑240(\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}/2,m_{d-2}/4,0)}} is shown in the figure. It leaves the points in P(d2)𝑃𝑑2P(d-2) above and both \IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}}} and \IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}} below making them the only improving points. ∎

Refer to caption
Figure 11: The set of improving points is now {\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝,\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝}\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\{\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}},\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}\}}}}}.

Point \IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}}} enters since it has smallest norm.

Claim 5.

Point \IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}}}} leaves and the next corral is \IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}}}}}.

Proof of Claim.

To start, notice that by construction the four points \IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝,\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝,\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}},\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}},\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}}}}}} lie on a common hyperplane, L𝐿L, parallel to the subspace spanned by \IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝2\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}}}. Thus, one does not need to do distance calculations but rather Fig. 13 is a faithful representation of the positions of points. The origin is facing the hyperplane L𝐿L, parallel to span(\IfSubStrod2\StrCutod2\csA\csB\csA\csB𝐨𝐝𝟐)span\IfSubStrsuperscriptsubscript𝑜𝑑2\StrCutsuperscriptsubscript𝑜𝑑2\csA\csBsubscript\csA\csBsuperscriptsubscript𝐨𝐝2\operatorname{span}\left(\IfSubStr{o_{d-2}^{*}}{{\StrCut{o_{d-2}^{*}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{o_{d-2}^{*}}}\right)}}. The closest point to the origin within L𝐿L is in the line segment joining \IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝,\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}},\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}} thus, as we move vertically, the closest point to the origin in triangle \IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝,\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}},\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}}}}}}} must be in the line segment joining \IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}}} and \IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}}}. ∎

Refer to caption
Figure 12: The set {\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝,\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝}\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\{\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}},\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}\}}}}}}} is not a corral.
Refer to caption
Figure 13: The only improving point is \IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}.
Claim 6.

The only improving point now is \IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}.

Proof of Claim.

Once more we rely in two different orthogonal two-dimensional projections of P(d)𝑃𝑑P(d) to estimates distances and to check Wolfe’s criterion. The line segment from the origin to the optimum of the corral \IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝,\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}},\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}}}}} (we could calculate this exactly, but it is not necessary), and its orthogonal hyperplane are shown in Figure 13. This shows only \IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}}} or \IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}} are candidates but \IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}}} is in the current corral, so only \IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}} may be added. ∎

Point \IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}} enters as the closest improving point to the origin.

Claim 7.

Point \IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}}} leaves. The next corral is \IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}}.

Proof of Claim.

We wish to find the closest point to the origin in triangle \IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝,\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝,\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}},\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}},\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}}}}. From Figure 15 the optimum is between \IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝,\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}},\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}}; this point is (md2/4)\IfSubStred1\StrCuted1\csA\csB\csA\csB𝐞𝐝𝟏subscript𝑚𝑑24\IfSubStrsubscript𝑒𝑑1\StrCutsubscript𝑒𝑑1\csA\csBsubscript\csA\csBsubscript𝐞𝐝1(m_{d-2}/4)\IfSubStr{e_{d-1}}{{\StrCut{e_{d-1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{e_{d-1}}}}}. Clearly this point is below \IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}}}, so it must leave the corral. ∎

Refer to caption
Figure 14: The point \IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}}}} leaves.
Refer to caption
Figure 15: The improving points are P(d2)𝑃𝑑2P(d-2).
Claim 8.

The set of improving points is now P(d2)𝑃𝑑2P(d-2) (with two zero coordinates appended).

Proof of Claim.

Now Wolfe’s criterion hyperplane contains the four points \IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝,\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝,\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}},\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}},\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}}}}}} by construction leaving P(d2)𝑃𝑑2P(d-2) on the same side as the origin (see Figure 15). ∎

The first (and minimum norm) point in P(d)𝑃𝑑P(d) enters and the next corral is this point together with \IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}}} and \IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}. That is, the next corral is precisely the first corral in C(d2)\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝𝐶𝑑2\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝C({d-2})\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}}. We will prove inductively that the sequence of corrals from now on is exactly all of C(d2)\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝𝐶𝑑2\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝C({d-2})\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}}. To see this, we repeatedly invoke Lemma 5 after every corral with A𝐴A equal to the subspace spanned by the first d2𝑑2d-2 coordinate vectors of dsuperscript𝑑\mathbb{R}^{d}. Suppose that the current corral is C\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝𝐶\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝C\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}}, where C𝐶C is one of the corrals in C(d2)𝐶𝑑2C({d-2}) and denote the next corral in C(d2)𝐶𝑑2C({d-2}) by Csuperscript𝐶C^{\prime}. From Lemma 5, we get that the set of improving points for corral C\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝𝐶\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝C\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}} is obtained by taking the set of improving points for corral C𝐶C and removing {\IfSubStrpd\StrCutpd\csA\csB\csA\csB𝐩𝐝,\IfSubStrqd\StrCutqd\csA\csB\csA\csB𝐪𝐝,\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝,\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝}\IfSubStrsubscript𝑝𝑑\StrCutsubscript𝑝𝑑\csA\csBsubscript\csA\csBsubscript𝐩𝐝\IfSubStrsubscript𝑞𝑑\StrCutsubscript𝑞𝑑\csA\csBsubscript\csA\csBsubscript𝐪𝐝\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\{\IfSubStr{p_{d}}{{\StrCut{p_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{d}}},\IfSubStr{q_{d}}{{\StrCut{q_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{q_{d}}},\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}},\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}\}}}}}}}}}. Thus, the point that enters is the same that would enter after corral C𝐶C. Let \IfSubStra\StrCuta\csA\csB\csA\csB𝐚\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}}} denote that point.

Claim 9.

The next corral is C\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝superscript𝐶\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝C^{\prime}\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}}.

Proof of Claim.

The current set of points is C\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStra\StrCuta\csA\csB\csA\csB𝐚𝐶\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚C\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}}}}}}}. If C\IfSubStra\StrCuta\csA\csB\csA\csB𝐚𝐶\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚C\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}}} is a corral then so is C\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStra\StrCuta\csA\csB\csA\csB𝐚=C\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝𝐶\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚superscript𝐶\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝C\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}=C^{\prime}\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}}}}}}}} (by Lemma 3, part 3) and the claim holds. If C\IfSubStra\StrCuta\csA\csB\csA\csB𝐚𝐶\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚C\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}}} is not a corral, it is enough to prove that the sequence of points removed by the inner loop of Wolfe’s method on this set is the same as the sequence on set C\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStra\StrCuta\csA\csB\csA\csB𝐚𝐶\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚C\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}}}}}}}. We will show this now by simultaneously analyzing the execution of the inner loop on C\IfSubStra\StrCuta\csA\csB\csA\csB𝐚𝐶\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚C\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}}} and C\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStra\StrCuta\csA\csB\csA\csB𝐚𝐶\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚C\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}}}}}}}. We distinguish the two cases with the following notation: variables are written without a bar (¯¯absent\bar{\phantom{x}}) and with a bar, respectively.

Let \IfSubStrx1\StrCutx1\csA\csB\csA\csB𝐱𝟏,,\IfSubStrxk\StrCutxk\csA\csB\csA\csB𝐱𝐤\IfSubStrsubscript𝑥1\StrCutsubscript𝑥1\csA\csBsubscript\csA\csBsubscript𝐱1\IfSubStrsubscript𝑥𝑘\StrCutsubscript𝑥𝑘\csA\csBsubscript\csA\csBsubscript𝐱𝐤\IfSubStr{x_{1}}{{\StrCut{x_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x_{1}}},\dotsc,\IfSubStr{x_{k}}{{\StrCut{x_{k}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x_{k}}}}}}} be the sequence of current points constructed by the inner loop on C\IfSubStra\StrCuta\csA\csB\csA\csB𝐚𝐶\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚C\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}}}. Let \IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,,\IfSubStrpk\StrCutpk\csA\csB\csA\csB𝐩𝐤\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝𝑘\StrCutsubscript𝑝𝑘\csA\csBsubscript\csA\csBsubscript𝐩𝐤\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\dotsc,\IfSubStr{p_{k}}{{\StrCut{p_{k}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{k}}}}}}} be the sequence of removed points. Let C1,,Cksubscript𝐶1subscript𝐶𝑘C_{1},\dotsc,C_{k} be the sequence of current sets of points at every iteration. Let \IfSubStrx¯1\StrCutx¯1\csA\csB\csA\csB𝐱¯𝟏,,\IfSubStrx¯k¯\StrCutx¯k¯\csA\csB\csA\csB𝐱¯𝐤¯\IfSubStrsubscript¯𝑥1\StrCutsubscript¯𝑥1\csA\csBsubscript\csA\csBsubscript¯𝐱1\IfSubStrsubscript¯𝑥¯𝑘\StrCutsubscript¯𝑥¯𝑘\csA\csBsubscript\csA\csBsubscript¯𝐱¯𝐤\IfSubStr{\bar{x}_{1}}{{\StrCut{\bar{x}_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{x}_{1}}},\dotsc,\IfSubStr{\bar{x}_{\bar{k}}}{{\StrCut{\bar{x}_{\bar{k}}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{x}_{\bar{k}}}}}}}} be the corresponding sequence on C\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝\IfSubStra\StrCuta\csA\csB\csA\csB𝐚𝐶\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚C\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}}}}}}}. Let \IfSubStrp¯1\StrCutp¯1\csA\csB\csA\csB𝐩¯𝟏,,\IfSubStrp¯k¯\StrCutp¯k¯\csA\csB\csA\csB𝐩¯𝐤¯\IfSubStrsubscript¯𝑝1\StrCutsubscript¯𝑝1\csA\csBsubscript\csA\csBsubscript¯𝐩1\IfSubStrsubscript¯𝑝¯𝑘\StrCutsubscript¯𝑝¯𝑘\csA\csBsubscript\csA\csBsubscript¯𝐩¯𝐤\IfSubStr{\bar{p}_{1}}{{\StrCut{\bar{p}_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{p}_{1}}},\dotsc,\IfSubStr{\bar{p}_{\bar{k}}}{{\StrCut{\bar{p}_{\bar{k}}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{p}_{\bar{k}}}}}}}} be the corresponding sequence of removed points. Let C¯1,,C¯k¯subscript¯𝐶1subscript¯𝐶¯𝑘\bar{C}_{1},\dotsc,\bar{C}_{\bar{k}} be the corresponding sequence of current sets of points. We will show inductively: k=k¯𝑘¯𝑘k=\bar{k}, there is a one-to-one correspondence between sequences (\IfSubStrxi\StrCutxi\csA\csB\csA\csB𝐱𝐢)\IfSubStrsubscript𝑥𝑖\StrCutsubscript𝑥𝑖\csA\csBsubscript\csA\csBsubscript𝐱𝐢(\IfSubStr{x_{i}}{{\StrCut{x_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x_{i}}})}} and (\IfSubStrx¯i\StrCutx¯i\csA\csB\csA\csB𝐱¯𝐢)\IfSubStrsubscript¯𝑥𝑖\StrCutsubscript¯𝑥𝑖\csA\csBsubscript\csA\csBsubscript¯𝐱𝐢(\IfSubStr{\bar{x}_{i}}{{\StrCut{\bar{x}_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{x}_{i}}})}}, and (\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢)=(\IfSubStrp¯i\StrCutp¯i\csA\csB\csA\csB𝐩¯𝐢)\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢\IfSubStrsubscript¯𝑝𝑖\StrCutsubscript¯𝑝𝑖\csA\csBsubscript\csA\csBsubscript¯𝐩𝐢(\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}})=(\IfSubStr{\bar{p}_{i}}{{\StrCut{\bar{p}_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{p}_{i}}})}}}}. More specifically, the correspondence is realized by maintaining the following invariant in the inner loop: \IfSubStrx¯i\StrCutx¯i\csA\csB\csA\csB𝐱¯𝐢\IfSubStrsubscript¯𝑥𝑖\StrCutsubscript¯𝑥𝑖\csA\csBsubscript\csA\csBsubscript¯𝐱𝐢\IfSubStr{\bar{x}_{i}}{{\StrCut{\bar{x}_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{x}_{i}}}}} is a strict convex combination of \IfSubStrxi\StrCutxi\csA\csB\csA\csB𝐱𝐢\IfSubStrsubscript𝑥𝑖\StrCutsubscript𝑥𝑖\csA\csBsubscript\csA\csBsubscript𝐱𝐢\IfSubStr{x_{i}}{{\StrCut{x_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x_{i}}}}} and the minimum norm point in [\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝,\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝]\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝[\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}},\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}]}}}}.

For the base case, from Lemma 3, part 2, we have that \IfSubStrx¯1\StrCutx¯1\csA\csB\csA\csB𝐱¯𝟏\IfSubStrsubscript¯𝑥1\StrCutsubscript¯𝑥1\csA\csBsubscript\csA\csBsubscript¯𝐱1\IfSubStr{\bar{x}_{1}}{{\StrCut{\bar{x}_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{x}_{1}}}}} is a strict convex combination of \IfSubStrx1\StrCutx1\csA\csB\csA\csB𝐱𝟏\IfSubStrsubscript𝑥1\StrCutsubscript𝑥1\csA\csBsubscript\csA\csBsubscript𝐱1\IfSubStr{x_{1}}{{\StrCut{x_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x_{1}}}}} (which is the minimum norm point in convCconv𝐶\operatorname{conv}C) and the minimum norm point in segment [\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝,\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝]\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝[\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}},\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}]}}}}, specifically \IfSubStrw\StrCutw\csA\csB\csA\csB𝐰:=md24\IfSubStred1\StrCuted1\csA\csB\csA\csB𝐞𝐝𝟏assign\IfSubStr𝑤\StrCut𝑤\csA\csBsubscript\csA\csB𝐰subscript𝑚𝑑24\IfSubStrsubscript𝑒𝑑1\StrCutsubscript𝑒𝑑1\csA\csBsubscript\csA\csBsubscript𝐞𝐝1\IfSubStr{w}{{\StrCut{w}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{w}}:=\frac{m_{d-2}}{4}\IfSubStr{e_{d-1}}{{\StrCut{e_{d-1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{e_{d-1}}}}}}}.

For the inductive step, if \IfSubStrxi\StrCutxi\csA\csB\csA\csB𝐱𝐢\IfSubStrsubscript𝑥𝑖\StrCutsubscript𝑥𝑖\csA\csBsubscript\csA\csBsubscript𝐱𝐢\IfSubStr{x_{i}}{{\StrCut{x_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x_{i}}}}} is a strict convex combination of the current set of points Cisubscript𝐶𝑖C_{i}, then so is \IfSubStrx¯i\StrCutx¯i\csA\csB\csA\csB𝐱¯𝐢\IfSubStrsubscript¯𝑥𝑖\StrCutsubscript¯𝑥𝑖\csA\csBsubscript\csA\csBsubscript¯𝐱𝐢\IfSubStr{\bar{x}_{i}}{{\StrCut{\bar{x}_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{x}_{i}}}}} of C¯isubscript¯𝐶𝑖\bar{C}_{i} and the inner loop ends in both cases with corrals Ci=Csubscript𝐶𝑖superscript𝐶C_{i}=C^{\prime} and C¯i=C\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝subscript¯𝐶𝑖superscript𝐶\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝\bar{C}_{i}=C^{\prime}\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}}\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}}}}}, respectively. The claim holds. If \IfSubStrxi\StrCutxi\csA\csB\csA\csB𝐱𝐢\IfSubStrsubscript𝑥𝑖\StrCutsubscript𝑥𝑖\csA\csBsubscript\csA\csBsubscript𝐱𝐢\IfSubStr{x_{i}}{{\StrCut{x_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x_{i}}}}} is not a strict convex combination of the current set of points Cisubscript𝐶𝑖C_{i}, then neither is \IfSubStrx¯i\StrCutx¯i\csA\csB\csA\csB𝐱¯𝐢\IfSubStrsubscript¯𝑥𝑖\StrCutsubscript¯𝑥𝑖\csA\csBsubscript\csA\csBsubscript¯𝐱𝐢\IfSubStr{\bar{x}_{i}}{{\StrCut{\bar{x}_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{x}_{i}}}}} of C¯isubscript¯𝐶𝑖\bar{C}_{i}. The inner loop then continues by computing the minimum norm point \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} in affCiaffsubscript𝐶𝑖\operatorname{aff}C_{i} and \IfSubStry¯\StrCuty¯\csA\csB\csA\csB𝐲¯\IfSubStr¯𝑦\StrCut¯𝑦\csA\csBsubscript\csA\csB¯𝐲\IfSubStr{\bar{y}}{{\StrCut{\bar{y}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{y}}}}} in affC¯iaffsubscript¯𝐶𝑖\operatorname{aff}\bar{C}_{i}, respectively. It then finds point \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}}} in convCiconvsubscript𝐶𝑖\operatorname{conv}C_{i} that is closest to \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} in segment [\IfSubStrxi\StrCutxi\csA\csB\csA\csB𝐱𝐢,\IfSubStry\StrCuty\csA\csB\csA\csB𝐲]\IfSubStrsubscript𝑥𝑖\StrCutsubscript𝑥𝑖\csA\csBsubscript\csA\csBsubscript𝐱𝐢\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲[\IfSubStr{x_{i}}{{\StrCut{x_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x_{i}}},\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}]}}}}. It finds \IfSubStrz¯\StrCutz¯\csA\csB\csA\csB𝐳¯\IfSubStr¯𝑧\StrCut¯𝑧\csA\csBsubscript\csA\csB¯𝐳\IfSubStr{\bar{z}}{{\StrCut{\bar{z}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{z}}}}}, respectively. It then selects a point \IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}}} to be removed, and a point \IfSubStrp¯i\StrCutp¯i\csA\csB\csA\csB𝐩¯𝐢\IfSubStrsubscript¯𝑝𝑖\StrCutsubscript¯𝑝𝑖\csA\csBsubscript\csA\csBsubscript¯𝐩𝐢\IfSubStr{\bar{p}_{i}}{{\StrCut{\bar{p}_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{p}_{i}}}}}, respectively. From Lemma 3, part 2, we have that \IfSubStry¯\StrCuty¯\csA\csB\csA\csB𝐲¯\IfSubStr¯𝑦\StrCut¯𝑦\csA\csBsubscript\csA\csB¯𝐲\IfSubStr{\bar{y}}{{\StrCut{\bar{y}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{y}}}}} is a strict convex combination of \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} and \IfSubStrw\StrCutw\csA\csB\csA\csB𝐰\IfSubStr𝑤\StrCut𝑤\csA\csBsubscript\csA\csB𝐰\IfSubStr{w}{{\StrCut{w}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{w}}}}.

We will argue that \IfSubStrz¯\StrCutz¯\csA\csB\csA\csB𝐳¯\IfSubStr¯𝑧\StrCut¯𝑧\csA\csBsubscript\csA\csB¯𝐳\IfSubStr{\bar{z}}{{\StrCut{\bar{z}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{z}}}}} is a strict convex combination of \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}}} and \IfSubStrw\StrCutw\csA\csB\csA\csB𝐰\IfSubStr𝑤\StrCut𝑤\csA\csBsubscript\csA\csB𝐰\IfSubStr{w}{{\StrCut{w}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{w}}}}. To see this, we note that segment [\IfSubStrx¯i\StrCutx¯i\csA\csB\csA\csB𝐱¯𝐢,\IfSubStry¯\StrCuty¯\csA\csB\csA\csB𝐲¯]\IfSubStrsubscript¯𝑥𝑖\StrCutsubscript¯𝑥𝑖\csA\csBsubscript\csA\csBsubscript¯𝐱𝐢\IfSubStr¯𝑦\StrCut¯𝑦\csA\csBsubscript\csA\csB¯𝐲[\IfSubStr{\bar{x}_{i}}{{\StrCut{\bar{x}_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{x}_{i}}},\IfSubStr{\bar{y}}{{\StrCut{\bar{y}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{y}}}]}}}} lies in the hyperplane where the last coordinate is 0. Therefore we only need to intersect it with the part of convC¯iconvsubscript¯𝐶𝑖\operatorname{conv}\bar{C}_{i} that lies in that hyperplane. This part is exactly conv(Ci{\IfSubStrw\StrCutw\csA\csB\csA\csB𝐰})convsubscript𝐶𝑖\IfSubStr𝑤\StrCut𝑤\csA\csBsubscript\csA\csB𝐰\operatorname{conv}(C_{i}\cup\{\IfSubStr{w}{{\StrCut{w}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{w}}\})}}, which can be written in a more explicit way as the union of all segments of the form [\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛,\IfSubStrw\StrCutw\csA\csB\csA\csB𝐰]\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStr𝑤\StrCut𝑤\csA\csBsubscript\csA\csB𝐰[\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}},\IfSubStr{w}{{\StrCut{w}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{w}}]}}}} with \IfSubStrb\StrCutb\csA\csB\csA\csB𝐛Ci\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛subscript𝐶𝑖\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}\in C_{i}}}. Even more, we only need to look at triangle \IfSubStrw\StrCutw\csA\csB\csA\csB𝐰,\IfSubStrxi\StrCutxi\csA\csB\csA\csB𝐱𝐢,\IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑤\StrCut𝑤\csA\csBsubscript\csA\csB𝐰\IfSubStrsubscript𝑥𝑖\StrCutsubscript𝑥𝑖\csA\csBsubscript\csA\csBsubscript𝐱𝐢\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{w}{{\StrCut{w}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{w}},\IfSubStr{x_{i}}{{\StrCut{x_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x_{i}}},\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}}}}}}, as all relevant segments lie on it. The intersection of this triangle with convCiconvsubscript𝐶𝑖\operatorname{conv}C_{i} is segment [\IfSubStrxi\StrCutxi\csA\csB\csA\csB𝐱𝐢,\IfSubStrz\StrCutz\csA\csB\csA\csB𝐳]\IfSubStrsubscript𝑥𝑖\StrCutsubscript𝑥𝑖\csA\csBsubscript\csA\csBsubscript𝐱𝐢\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳[\IfSubStr{x_{i}}{{\StrCut{x_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x_{i}}},\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}]}}}} and therefore the intersection of the triangle with convC¯iconvsubscript¯𝐶𝑖\operatorname{conv}\bar{C}_{i} is simply triangle \IfSubStrxi\StrCutxi\csA\csB\csA\csB𝐱𝐢,\IfSubStrz\StrCutz\csA\csB\csA\csB𝐳,\IfSubStrw\StrCutw\csA\csB\csA\csB𝐰\IfSubStrsubscript𝑥𝑖\StrCutsubscript𝑥𝑖\csA\csBsubscript\csA\csBsubscript𝐱𝐢\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳\IfSubStr𝑤\StrCut𝑤\csA\csBsubscript\csA\csB𝐰\IfSubStr{x_{i}}{{\StrCut{x_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x_{i}}},\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}},\IfSubStr{w}{{\StrCut{w}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{w}}}}}}}}. This implies that the intersection between segment [\IfSubStrx¯i\StrCutx¯i\csA\csB\csA\csB𝐱¯𝐢,\IfSubStry¯\StrCuty¯\csA\csB\csA\csB𝐲¯]\IfSubStrsubscript¯𝑥𝑖\StrCutsubscript¯𝑥𝑖\csA\csBsubscript\csA\csBsubscript¯𝐱𝐢\IfSubStr¯𝑦\StrCut¯𝑦\csA\csBsubscript\csA\csB¯𝐲[\IfSubStr{\bar{x}_{i}}{{\StrCut{\bar{x}_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{x}_{i}}},\IfSubStr{\bar{y}}{{\StrCut{\bar{y}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{y}}}]}}}} and convC¯iconvsubscript¯𝐶𝑖\operatorname{conv}\bar{C}_{i} is the same as the intersection between segment [\IfSubStrx¯i\StrCutx¯i\csA\csB\csA\csB𝐱¯𝐢,\IfSubStry¯\StrCuty¯\csA\csB\csA\csB𝐲¯]\IfSubStrsubscript¯𝑥𝑖\StrCutsubscript¯𝑥𝑖\csA\csBsubscript\csA\csBsubscript¯𝐱𝐢\IfSubStr¯𝑦\StrCut¯𝑦\csA\csBsubscript\csA\csB¯𝐲[\IfSubStr{\bar{x}_{i}}{{\StrCut{\bar{x}_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{x}_{i}}},\IfSubStr{\bar{y}}{{\StrCut{\bar{y}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{y}}}]}}}} and triangle \IfSubStrxi\StrCutxi\csA\csB\csA\csB𝐱𝐢,\IfSubStrz\StrCutz\csA\csB\csA\csB𝐳,\IfSubStrw\StrCutw\csA\csB\csA\csB𝐰\IfSubStrsubscript𝑥𝑖\StrCutsubscript𝑥𝑖\csA\csBsubscript\csA\csBsubscript𝐱𝐢\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳\IfSubStr𝑤\StrCut𝑤\csA\csBsubscript\csA\csB𝐰\IfSubStr{x_{i}}{{\StrCut{x_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x_{i}}},\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}},\IfSubStr{w}{{\StrCut{w}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{w}}}}}}}}. This intersection is an interval [\IfSubStrx¯i\StrCutx¯i\csA\csB\csA\csB𝐱¯𝐢,\IfSubStrz¯\StrCutz¯\csA\csB\csA\csB𝐳¯]\IfSubStrsubscript¯𝑥𝑖\StrCutsubscript¯𝑥𝑖\csA\csBsubscript\csA\csBsubscript¯𝐱𝐢\IfSubStr¯𝑧\StrCut¯𝑧\csA\csBsubscript\csA\csB¯𝐳[\IfSubStr{\bar{x}_{i}}{{\StrCut{\bar{x}_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{x}_{i}}},\IfSubStr{\bar{z}}{{\StrCut{\bar{z}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{z}}}]}}}} where \IfSubStrz¯\StrCutz¯\csA\csB\csA\csB𝐳¯\IfSubStr¯𝑧\StrCut¯𝑧\csA\csBsubscript\csA\csB¯𝐳\IfSubStr{\bar{z}}{{\StrCut{\bar{z}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{z}}}}} is a strict convex combination of \IfSubStrw\StrCutw\csA\csB\csA\csB𝐰\IfSubStr𝑤\StrCut𝑤\csA\csBsubscript\csA\csB𝐰\IfSubStr{w}{{\StrCut{w}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{w}}}} and \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}}} and \IfSubStrz¯\StrCutz¯\csA\csB\csA\csB𝐳¯\IfSubStr¯𝑧\StrCut¯𝑧\csA\csBsubscript\csA\csB¯𝐳\IfSubStr{\bar{z}}{{\StrCut{\bar{z}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{z}}}}} is the closest point to \IfSubStry¯\StrCuty¯\csA\csB\csA\csB𝐲¯\IfSubStr¯𝑦\StrCut¯𝑦\csA\csBsubscript\csA\csB¯𝐲\IfSubStr{\bar{y}}{{\StrCut{\bar{y}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{y}}}}} in that intersection.

It follows that the set of potential points to be removed is the same for the two executions. Specifically, if \IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}}} is a strict convex combination of a certain subset Csuperscript𝐶C^{*} of Cisubscript𝐶𝑖C_{i}, then \IfSubStrz¯\StrCutz¯\csA\csB\csA\csB𝐳¯\IfSubStr¯𝑧\StrCut¯𝑧\csA\csBsubscript\csA\csB¯𝐳\IfSubStr{\bar{z}}{{\StrCut{\bar{z}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{z}}}}} is a strict convex combination of C{\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝,\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝}superscript𝐶\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝C^{*}\cup\{\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}},\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}\}}}}}. The sets of points that can potentially be removed are CiCsubscript𝐶𝑖superscript𝐶C_{i}\setminus C^{*} and C¯i(C{\IfSubStrrd\StrCutrd\csA\csB\csA\csB𝐫𝐝,\IfSubStrsd\StrCutsd\csA\csB\csA\csB𝐬𝐝})=CiCsubscript¯𝐶𝑖superscript𝐶\IfSubStrsubscript𝑟𝑑\StrCutsubscript𝑟𝑑\csA\csBsubscript\csA\csBsubscript𝐫𝐝\IfSubStrsubscript𝑠𝑑\StrCutsubscript𝑠𝑑\csA\csBsubscript\csA\csBsubscript𝐬𝐝subscript𝐶𝑖superscript𝐶\bar{C}_{i}\setminus(C^{*}\cup\{\IfSubStr{r_{d}}{{\StrCut{r_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{r_{d}}},\IfSubStr{s_{d}}{{\StrCut{s_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{d}}}\})=C_{i}\setminus C^{*}}}}} (the same), respectively. In particular111Under a mild consistency assumption on the way a point is chosen when there is more than one choice, for example, “choose the point with smallest index among potential points.”, \IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢=\IfSubStrp¯i\StrCutp¯i\csA\csB\csA\csB𝐩¯𝐢\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢\IfSubStrsubscript¯𝑝𝑖\StrCutsubscript¯𝑝𝑖\csA\csBsubscript\csA\csBsubscript¯𝐩𝐢\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}=\IfSubStr{\bar{p}_{i}}{{\StrCut{\bar{p}_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{p}_{i}}}}}}}. This implies Ci+1=C¯i+1subscript𝐶𝑖1subscript¯𝐶𝑖1C_{i+1}=\bar{C}_{i+1}. Also, \IfSubStrxi+1\StrCutxi+1\csA\csB\csA\csB𝐱𝐢+𝟏=\IfSubStrz\StrCutz\csA\csB\csA\csB𝐳\IfSubStrsubscript𝑥𝑖1\StrCutsubscript𝑥𝑖1\csA\csBsubscript\csA\csBsubscript𝐱𝐢1\IfSubStr𝑧\StrCut𝑧\csA\csBsubscript\csA\csB𝐳\IfSubStr{x_{i+1}}{{\StrCut{x_{i+1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x_{i+1}}}=\IfSubStr{z}{{\StrCut{z}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{z}}}}}} and \IfSubStrx¯i+1\StrCutx¯i+1\csA\csB\csA\csB𝐱¯𝐢+𝟏=\IfSubStrz¯\StrCutz¯\csA\csB\csA\csB𝐳¯\IfSubStrsubscript¯𝑥𝑖1\StrCutsubscript¯𝑥𝑖1\csA\csBsubscript\csA\csBsubscript¯𝐱𝐢1\IfSubStr¯𝑧\StrCut¯𝑧\csA\csBsubscript\csA\csB¯𝐳\IfSubStr{\bar{x}_{i+1}}{{\StrCut{\bar{x}_{i+1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{x}_{i+1}}}=\IfSubStr{\bar{z}}{{\StrCut{\bar{z}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\bar{z}}}}}}} is in [\IfSubStrxi+1\StrCutxi+1\csA\csB\csA\csB𝐱𝐢+𝟏,\IfSubStrw\StrCutw\csA\csB\csA\csB𝐰]\IfSubStrsubscript𝑥𝑖1\StrCutsubscript𝑥𝑖1\csA\csBsubscript\csA\csBsubscript𝐱𝐢1\IfSubStr𝑤\StrCut𝑤\csA\csBsubscript\csA\csB𝐰[\IfSubStr{x_{i+1}}{{\StrCut{x_{i+1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x_{i+1}}},\IfSubStr{w}{{\StrCut{w}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{w}}]}}}}. This completes the inductive argument about the inner loop and proves the claim. ∎

This completes the proof of Theorem 6. ∎

2 Linear optimization reduces to minimum-norm problems on simplices

We reduce linear programming to the minimum norm point problem over a simplex via a series of strongly polynomial time reductions. The algorithmic problems we will consider are defined below. We give definitions for the problems of linear programming (LP), feasibility (FP), bounded feasibility (BFP), V-polytope membership (VPM), zero V-polytope membership (ZVPM), zero V-polytope membership decision (ZVPMD), distance to a V-polytope (DVP) and distance to a V-simplex (DVS). (Prefix “V-” means that the respective object is specified as the convex hull of a set of points.) See [18, 12, 19] for a detailed discussions of strongly polynomial time algorithms.

Definition 7.

Consider the following computational problems:

  • LP: Given a rational matrix A𝐴A, a rational column vector \IfSubStrb\StrCutb\csA\csB\csA\csB𝐛\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}, and a rational row vector \IfSubStrc\StrCutc\csA\csB\csA\csB𝐜T\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csBsuperscript𝐜𝑇\IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}}^{T}}}, output rational \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱argmax{\IfSubStrc\StrCutc\csA\csB\csA\csB𝐜T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱:A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛}\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱argmax:\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csBsuperscript𝐜𝑇\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\in\text{argmax}\{\IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}}^{T}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\mathrel{:}A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\leq\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}\}}}}}}}}}}} if max{\IfSubStrc\StrCutc\csA\csB\csA\csB𝐜T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱:A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛}:\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csBsuperscript𝐜𝑇\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\max\{\IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}}^{T}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\mathrel{:}A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\leq\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}\}}}}}}}}} is finite, otherwise output INFEASIBLE if {\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱:A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛}:\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\{\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\mathrel{:}A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\leq\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}\}}}}}}} is empty and else output INFINITE.

  • FP: Given a rational matrix A𝐴A and a rational vector \IfSubStrb\StrCutb\csA\csB\csA\csB𝐛\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}, if P:={\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱:A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛,\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎}P:=\{\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\mathrel{:}A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}},\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}\}}}}}}}}}}} is nonempty, output a rational \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱P\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝑃\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\in P}}, otherwise output NO.

  • BFP: Given a rational d×n𝑑𝑛d\times n matrix A𝐴A, a rational vector \IfSubStrb\StrCutb\csA\csB\csA\csB𝐛\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}} and a rational value M>0𝑀0M>0, if P:={\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱:A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛,\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,i=1nxiM}P:=\{\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\mathrel{:}A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}},\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},\sum_{i=1}^{n}x_{i}\leq M\}}}}}}}}}}} is nonempty, output a rational \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱P\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝑃\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\in P}}, otherwise output NO.

  • VPM: Given a rational d×n𝑑𝑛d\times n matrix A𝐴A and a rational vector \IfSubStrb\StrCutb\csA\csB\csA\csB𝐛\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}, if P:={\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱:A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛,\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,i=1nxi=1}P:=\{\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\mathrel{:}A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}},\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},\sum_{i=1}^{n}x_{i}=1\}}}}}}}}}}} is nonempty, output a rational \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱P\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝑃\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\in P}}, otherwise output NO.

  • ZVPM: Given a rational d×n𝑑𝑛d\times n matrix A𝐴A, if P:={\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱:A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,i=1nxi=1}P:=\{\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\mathrel{:}A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},\sum_{i=1}^{n}x_{i}=1\}}}}}}}}}}} is nonempty, output a rational \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱P\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝑃\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\in P}}, otherwise output NO.

  • ZVPMD: Given rational points \IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐,,\IfSubStrpn\StrCutpn\csA\csB\csA\csB𝐩𝐧d\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\IfSubStrsubscript𝑝𝑛\StrCutsubscript𝑝𝑛\csA\csBsubscript\csA\csBsubscript𝐩𝐧superscript𝑑\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}},\dotsc,\IfSubStr{p_{n}}{{\StrCut{p_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{n}}}\in\mathbb{R}^{d}}}}}}}, output YES if \IfSubStr0\StrCut0\csA\csB\csA\csB𝟎conv{\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐,,\IfSubStrpn\StrCutpn\csA\csB\csA\csB𝐩𝐧}\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0conv\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\IfSubStrsubscript𝑝𝑛\StrCutsubscript𝑝𝑛\csA\csBsubscript\csA\csBsubscript𝐩𝐧\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}\in\operatorname{conv}\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}},...,\IfSubStr{p_{n}}{{\StrCut{p_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{n}}}\}}}}}}}}} and NO otherwise.

  • DVP: Given rational points \IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐,,\IfSubStrpn\StrCutpn\csA\csB\csA\csB𝐩𝐧d\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\IfSubStrsubscript𝑝𝑛\StrCutsubscript𝑝𝑛\csA\csBsubscript\csA\csBsubscript𝐩𝐧superscript𝑑\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}},\dotsc,\IfSubStr{p_{n}}{{\StrCut{p_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{n}}}\in\mathbb{R}^{d}}}}}}} defining P=conv{\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐,,\IfSubStrpn\StrCutpn\csA\csB\csA\csB𝐩𝐧}𝑃conv\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\IfSubStrsubscript𝑝𝑛\StrCutsubscript𝑝𝑛\csA\csBsubscript\csA\csBsubscript𝐩𝐧P=\operatorname{conv}\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}},...,\IfSubStr{p_{n}}{{\StrCut{p_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{n}}}\}}}}}}}, output d(\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,P)2𝑑superscript\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0𝑃2d(\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},P)^{2}}}.

  • DVS: Given nd+1𝑛𝑑1n\leq d+1 affinely independent rational points \IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐,,\IfSubStrpn\StrCutpn\csA\csB\csA\csB𝐩𝐧d\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\IfSubStrsubscript𝑝𝑛\StrCutsubscript𝑝𝑛\csA\csBsubscript\csA\csBsubscript𝐩𝐧superscript𝑑\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}},...,\IfSubStr{p_{n}}{{\StrCut{p_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{n}}}\in\mathbb{R}^{d}}}}}}} defining (n1)𝑛1(n-1)-dimensional simplex P=conv{\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐,,\IfSubStrpn\StrCutpn\csA\csB\csA\csB𝐩𝐧}𝑃conv\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\IfSubStrsubscript𝑝𝑛\StrCutsubscript𝑝𝑛\csA\csBsubscript\csA\csBsubscript𝐩𝐧P=\operatorname{conv}\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}},...,\IfSubStr{p_{n}}{{\StrCut{p_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{n}}}\}}}}}}}, output d(\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,P)2𝑑superscript\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0𝑃2d(\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},P)^{2}}}.

The main result in this section reduces linear programming to finding the minimum norm point in a (vertex-representation) simplex.

Theorem 8.

LP reduces to DVS in strongly-polynomial time.

To prove each of the lemmas below, we illustrate the problem transformation and its strong polynomiality. The first two reductions are highly classical, while those following are intuitive, but we do not believe have been written elsewhere.

Below is the sequence of algorithmic reductions that reduce LP to DVS.

Lemma 9.

LP reduces in strongly-polynomial time to FP.

Proof.

Let 𝒪𝒪\mathcal{O} denote the FP oracle.

Ad×n,\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛d,\IfSubStrc\StrCutc\csA\csB\csA\csB𝐜nformulae-sequence𝐴superscript𝑑𝑛formulae-sequence\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛superscript𝑑\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csB𝐜superscript𝑛A\in\mathbb{Q}^{d\times n},\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}\in\mathbb{Q}^{d},\IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}}\in\mathbb{Q}^{n}}}}}.
Invoke 𝒪𝒪\mathcal{O} on
[AAId][\IfSubStrx+\StrCutx+\csA\csB\csA\csB𝐱+\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStrs\StrCuts\csA\csB\csA\csB𝐬]=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛,[\IfSubStrx+\StrCutx+\csA\csB\csA\csB𝐱+\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStrs\StrCuts\csA\csB\csA\csB𝐬]\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎.formulae-sequencematrix𝐴𝐴subscript𝐼𝑑matrix\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr𝑠\StrCut𝑠\csA\csBsubscript\csA\csB𝐬\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛matrix\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr𝑠\StrCut𝑠\csA\csBsubscript\csA\csB𝐬\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\begin{bmatrix}A&-A&I_{d}\end{bmatrix}\begin{bmatrix}\IfSubStr{x^{+}}{{\StrCut{x^{+}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{+}}}\\ \IfSubStr{x^{-}}{{\StrCut{x^{-}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{-}}}\\ \IfSubStr{s}{{\StrCut{s}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s}}\end{bmatrix}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}},\begin{bmatrix}\IfSubStr{x^{+}}{{\StrCut{x^{+}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{+}}}\\ \IfSubStr{x^{-}}{{\StrCut{x^{-}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{-}}}\\ \IfSubStr{s}{{\StrCut{s}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s}}\end{bmatrix}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}.}}}}}}}}}}}}}}}} (1)
If the output is NO, output INFEASIBLE.
Invoke 𝒪𝒪\mathcal{O} on
[\IfSubStrc\StrCutc\csA\csB\csA\csB𝐜T\IfSubStrc\StrCutc\csA\csB\csA\csB𝐜T\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛TAA0Id+2n+100AT00AT][\IfSubStrx+\StrCutx+\csA\csB\csA\csB𝐱+\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStrs\StrCuts\csA\csB\csA\csB𝐬]=[0\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛\IfSubStrc\StrCutc\csA\csB\csA\csB𝐜\IfSubStrc\StrCutc\csA\csB\csA\csB𝐜],[\IfSubStrx+\StrCutx+\csA\csB\csA\csB𝐱+\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStrs\StrCuts\csA\csB\csA\csB𝐬]\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎.formulae-sequencematrix\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csBsuperscript𝐜𝑇\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csBsuperscript𝐜𝑇\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csBsuperscript𝐛𝑇missing-subexpression𝐴𝐴0subscript𝐼𝑑2𝑛100superscript𝐴𝑇missing-subexpression00superscript𝐴𝑇missing-subexpressionmatrix\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr𝑠\StrCut𝑠\csA\csBsubscript\csA\csB𝐬matrix0\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csB𝐜\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csB𝐜matrix\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr𝑠\StrCut𝑠\csA\csBsubscript\csA\csB𝐬\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\begin{bmatrix}-\IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}}^{T}&\IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}}^{T}&\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}^{T}&\\ A&-A&0&I_{d+2n+1}\\ 0&0&A^{T}&\\ 0&0&-A^{T}&\end{bmatrix}\begin{bmatrix}\IfSubStr{x^{+}}{{\StrCut{x^{+}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{+}}}\\ \IfSubStr{x^{-}}{{\StrCut{x^{-}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{-}}}\\ \IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\\ \IfSubStr{s}{{\StrCut{s}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s}}\end{bmatrix}=\begin{bmatrix}0\\ \IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}\\ \IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}}\\ -\IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}}\end{bmatrix},\begin{bmatrix}\IfSubStr{x^{+}}{{\StrCut{x^{+}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{+}}}\\ \IfSubStr{x^{-}}{{\StrCut{x^{-}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{-}}}\\ \IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\\ \IfSubStr{s}{{\StrCut{s}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s}}\end{bmatrix}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}.}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} (2)
If the output is NO, output INFINITE, else output rational \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrx+\StrCutx+\csA\csB\csA\csB𝐱+\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{x^{+}}{{\StrCut{x^{+}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{+}}}-\IfSubStr{x^{-}}{{\StrCut{x^{-}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{-}}}}}}}}}.
Claim 10.

A solution

\IfSubStrx~\StrCutx~\csA\csB\csA\csB𝐱~:=[\IfSubStrx+\StrCutx+\csA\csB\csA\csB𝐱+\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStrs\StrCuts\csA\csB\csA\csB𝐬]assign\IfSubStr~𝑥\StrCut~𝑥\csA\csBsubscript\csA\csB~𝐱matrix\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr𝑠\StrCut𝑠\csA\csBsubscript\csA\csB𝐬\IfSubStr{\tilde{x}}{{\StrCut{\tilde{x}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\tilde{x}}}:=\begin{bmatrix}\IfSubStr{x^{+}}{{\StrCut{x^{+}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{+}}}\\ \IfSubStr{x^{-}}{{\StrCut{x^{-}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{-}}}\\ \IfSubStr{s}{{\StrCut{s}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s}}\end{bmatrix}}}}}}}}}

to (1) gives a solution to A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\leq\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}}} and vice versa.

Proof of Claim.

Suppose \IfSubStrx~\StrCutx~\csA\csB\csA\csB𝐱~\IfSubStr~𝑥\StrCut~𝑥\csA\csBsubscript\csA\csB~𝐱\IfSubStr{\tilde{x}}{{\StrCut{\tilde{x}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\tilde{x}}}}} satisfies (1). Then A\IfSubStrx+\StrCutx+\csA\csB\csA\csB𝐱+A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱+\IfSubStrs\StrCuts\csA\csB\csA\csB𝐬=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛𝐴\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱𝐴\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr𝑠\StrCut𝑠\csA\csBsubscript\csA\csB𝐬\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛A\IfSubStr{x^{+}}{{\StrCut{x^{+}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{+}}}-A\IfSubStr{x^{-}}{{\StrCut{x^{-}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{-}}}+\IfSubStr{s}{{\StrCut{s}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s}}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}}}}}}}. Define \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrx+\StrCutx+\csA\csB\csA\csB𝐱+\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{x^{+}}{{\StrCut{x^{+}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{+}}}-\IfSubStr{x^{-}}{{\StrCut{x^{-}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{-}}}}}}}}} and note \IfSubStrs\StrCuts\csA\csB\csA\csB𝐬\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr𝑠\StrCut𝑠\csA\csBsubscript\csA\csB𝐬\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{s}{{\StrCut{s}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s}}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}}. Then A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\leq\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}}}. Now, suppose \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} satisfies A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\leq\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}}}. Let \IfSubStrx+\StrCutx+\csA\csB\csA\csB𝐱+\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr{x^{+}}{{\StrCut{x^{+}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{+}}}}} be the positive coordinates of the vector \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} and \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr{x^{-}}{{\StrCut{x^{-}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{-}}}}} be the negative components in absolute value, so xi+=max(xi,0)superscriptsubscript𝑥𝑖subscript𝑥𝑖0x_{i}^{+}=\max(x_{i},0) and xi=max(xi,0)superscriptsubscript𝑥𝑖subscript𝑥𝑖0x_{i}^{-}=\max(-x_{i},0). Define \IfSubStrs\StrCuts\csA\csB\csA\csB𝐬=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑠\StrCut𝑠\csA\csBsubscript\csA\csB𝐬\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{s}{{\StrCut{s}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s}}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}-A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}}}}}}. Since A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\leq\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}}}, we have that \IfSubStrs\StrCuts\csA\csB\csA\csB𝐬\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr𝑠\StrCut𝑠\csA\csBsubscript\csA\csB𝐬\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{s}{{\StrCut{s}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s}}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}} and by construction, \IfSubStrx+\StrCutx+\csA\csB\csA\csB𝐱+,\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{x^{+}}{{\StrCut{x^{+}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{+}}},\IfSubStr{x^{-}}{{\StrCut{x^{-}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{-}}}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}}}}. Note that [AAI]\IfSubStrx~\StrCutx~\csA\csB\csA\csB𝐱~=A\IfSubStrx+\StrCutx+\csA\csB\csA\csB𝐱+A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱+\IfSubStrs\StrCuts\csA\csB\csA\csB𝐬=A(\IfSubStrx+\StrCutx+\csA\csB\csA\csB𝐱+\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱)+\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱+\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛.matrix𝐴𝐴𝐼\IfSubStr~𝑥\StrCut~𝑥\csA\csBsubscript\csA\csB~𝐱𝐴\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱𝐴\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr𝑠\StrCut𝑠\csA\csBsubscript\csA\csB𝐬𝐴\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\begin{bmatrix}A&-A&I\end{bmatrix}\IfSubStr{\tilde{x}}{{\StrCut{\tilde{x}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\tilde{x}}}=A\IfSubStr{x^{+}}{{\StrCut{x^{+}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{+}}}-A\IfSubStr{x^{-}}{{\StrCut{x^{-}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{-}}}+\IfSubStr{s}{{\StrCut{s}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s}}=A(\IfSubStr{x^{+}}{{\StrCut{x^{+}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{+}}}-\IfSubStr{x^{-}}{{\StrCut{x^{-}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{-}}})+\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}-A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}+\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}-A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}.}}}}}}}}}}}}}}}}}}}}}}}}

Claim 11.

A solution

\IfSubStrz~\StrCutz~\csA\csB\csA\csB𝐳~:=[\IfSubStrx+\StrCutx+\csA\csB\csA\csB𝐱+\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStrs\StrCuts\csA\csB\csA\csB𝐬]assign\IfSubStr~𝑧\StrCut~𝑧\csA\csBsubscript\csA\csB~𝐳matrix\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr𝑠\StrCut𝑠\csA\csBsubscript\csA\csB𝐬\IfSubStr{\tilde{z}}{{\StrCut{\tilde{z}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\tilde{z}}}:=\begin{bmatrix}\IfSubStr{x^{+}}{{\StrCut{x^{+}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{+}}}\\ \IfSubStr{x^{-}}{{\StrCut{x^{-}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{-}}}\\ \IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\\ \IfSubStr{s}{{\StrCut{s}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s}}\end{bmatrix}}}}}}}}}}}

to (2) gives a solution to argmax{\IfSubStrc\StrCutc\csA\csB\csA\csB𝐜T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱|A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛}argmaxconditional-set\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csBsuperscript𝐜𝑇\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\text{argmax}\{\IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}}^{T}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}|A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\leq\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}\}}}}}}}}} and vice versa.

Proof of Claim.

Suppose \IfSubStrz~\StrCutz~\csA\csB\csA\csB𝐳~\IfSubStr~𝑧\StrCut~𝑧\csA\csBsubscript\csA\csB~𝐳\IfSubStr{\tilde{z}}{{\StrCut{\tilde{z}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\tilde{z}}}}} is a solution to (2). These are the KKT conditions for the LP argmax{\IfSubStrc\StrCutc\csA\csB\csA\csB𝐜T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱|A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛}argmaxconditional-set\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csBsuperscript𝐜𝑇\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\text{argmax}\{\IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}}^{T}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}|A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\leq\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}\}}}}}}}}}, so \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrx+\StrCutx+\csA\csB\csA\csB𝐱+\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{x^{+}}{{\StrCut{x^{+}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{+}}}-\IfSubStr{x^{-}}{{\StrCut{x^{-}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{-}}}}}}}}} is the optimum. Suppose \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱argmax{\IfSubStrc\StrCutc\csA\csB\csA\csB𝐜T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱|A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛}\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱argmaxconditional-set\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csBsuperscript𝐜𝑇\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\in\text{argmax}\{\IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}}^{T}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}|A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\leq\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}\}}}}}}}}}}}. By strong duality, there exists \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}} so that \IfSubStrb\StrCutb\csA\csB\csA\csB𝐛T\IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStrc\StrCutc\csA\csB\csA\csB𝐜T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csBsuperscript𝐛𝑇\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csBsuperscript𝐜𝑇\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}^{T}\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\leq\IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}}^{T}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}}}}}}}} and AT\IfSubStry\StrCuty\csA\csB\csA\csB𝐲=\IfSubStrc\StrCutc\csA\csB\csA\csB𝐜,\IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎formulae-sequencesuperscript𝐴𝑇\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csB𝐜\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0A^{T}\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}=\IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}},\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}}}}}}. Thus, letting \IfSubStrx+\StrCutx+\csA\csB\csA\csB𝐱+\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr{x^{+}}{{\StrCut{x^{+}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{+}}}}} and \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr{x^{-}}{{\StrCut{x^{-}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{-}}}}} be as above, we have

\IfSubStrc\StrCutc\csA\csB\csA\csB𝐜T(\IfSubStrx+\StrCutx+\csA\csB\csA\csB𝐱+\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱)+\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛T\IfSubStry\StrCuty\csA\csB\csA\csB𝐲0,A(\IfSubStrx+\StrCutx+\csA\csB\csA\csB𝐱+\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱)\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛,AT\IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStrc\StrCutc\csA\csB\csA\csB𝐜,AT\IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStrc\StrCutc\csA\csB\csA\csB𝐜.formulae-sequence\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csBsuperscript𝐜𝑇\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csBsuperscript𝐛𝑇\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲0formulae-sequence𝐴\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛formulae-sequencesuperscript𝐴𝑇\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csB𝐜superscript𝐴𝑇\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csB𝐜-\IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}}^{T}(\IfSubStr{x^{+}}{{\StrCut{x^{+}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{+}}}-\IfSubStr{x^{-}}{{\StrCut{x^{-}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{-}}})+\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}^{T}\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\leq 0,\;A(\IfSubStr{x^{+}}{{\StrCut{x^{+}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{+}}}-\IfSubStr{x^{-}}{{\StrCut{x^{-}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{-}}})\leq\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}},\;A^{T}\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\leq\IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}},\;-A^{T}\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\leq-\IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}}.}}}}}}}}}}}}}}}}}}}}}}}}

Now choose \IfSubStrs\StrCuts\csA\csB\csA\csB𝐬\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr𝑠\StrCut𝑠\csA\csBsubscript\csA\csB𝐬\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{s}{{\StrCut{s}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s}}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}} so that

\IfSubStrc\StrCutc\csA\csB\csA\csB𝐜T\IfSubStrx+\StrCutx+\csA\csB\csA\csB𝐱+\IfSubStrc\StrCutc\csA\csB\csA\csB𝐜T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱+\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛T\IfSubStry\StrCuty\csA\csB\csA\csB𝐲+s1=0,A\IfSubStrx+\StrCutx+\csA\csB\csA\csB𝐱+A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱+\IfSubStrs2m+1\StrCuts2m+1\csA\csB\csA\csB𝐬𝟐𝐦+𝟏=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛,AT\IfSubStry\StrCuty\csA\csB\csA\csB𝐲+\IfSubStrsm+2n+m+1\StrCutsm+2n+m+1\csA\csB\csA\csB𝐬𝐦+𝟐𝐧+𝐦+𝟏=\IfSubStrc\StrCutc\csA\csB\csA\csB𝐜,AT\IfSubStry\StrCuty\csA\csB\csA\csB𝐲+\IfSubStrsn+m+22n+m+1\StrCutsn+m+22n+m+1\csA\csB\csA\csB𝐬𝐧+𝐦+𝟐𝟐𝐧+𝐦+𝟏=\IfSubStrc\StrCutc\csA\csB\csA\csB𝐜formulae-sequence\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csBsuperscript𝐜𝑇\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csBsuperscript𝐜𝑇\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csBsuperscript𝐛𝑇\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲subscript𝑠10formulae-sequence𝐴\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱𝐴\IfSubStrsuperscript𝑥\StrCutsuperscript𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStrsuperscriptsubscript𝑠2𝑚1\StrCutsuperscriptsubscript𝑠2𝑚1\csA\csBsubscript\csA\csBsuperscriptsubscript𝐬2𝐦1\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛formulae-sequencesuperscript𝐴𝑇\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStrsuperscriptsubscript𝑠𝑚2𝑛𝑚1\StrCutsuperscriptsubscript𝑠𝑚2𝑛𝑚1\csA\csBsubscript\csA\csBsuperscriptsubscript𝐬𝐦2𝐧𝐦1\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csB𝐜superscript𝐴𝑇\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStrsuperscriptsubscript𝑠𝑛𝑚22𝑛𝑚1\StrCutsuperscriptsubscript𝑠𝑛𝑚22𝑛𝑚1\csA\csBsubscript\csA\csBsuperscriptsubscript𝐬𝐧𝐦22𝐧𝐦1\IfSubStr𝑐\StrCut𝑐\csA\csBsubscript\csA\csB𝐜\IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}}^{T}\IfSubStr{x^{+}}{{\StrCut{x^{+}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{+}}}-\IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}}^{T}\IfSubStr{x^{-}}{{\StrCut{x^{-}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{-}}}+\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}^{T}\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}+s_{1}=0,\;A\IfSubStr{x^{+}}{{\StrCut{x^{+}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{+}}}-A\IfSubStr{x^{-}}{{\StrCut{x^{-}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x^{-}}}+\IfSubStr{s_{2}^{m+1}}{{\StrCut{s_{2}^{m+1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{2}^{m+1}}}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}},\;A^{T}\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}+\IfSubStr{s_{m+2}^{n+m+1}}{{\StrCut{s_{m+2}^{n+m+1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{m+2}^{n+m+1}}}=\IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}},\;-A^{T}\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}+\IfSubStr{s_{n+m+2}^{2n+m+1}}{{\StrCut{s_{n+m+2}^{2n+m+1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{n+m+2}^{2n+m+1}}}=-\IfSubStr{c}{{\StrCut{c}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{c}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}

where \IfSubStrsij\StrCutsij\csA\csB\csA\csB𝐬𝐢𝐣\IfSubStrsuperscriptsubscript𝑠𝑖𝑗\StrCutsuperscriptsubscript𝑠𝑖𝑗\csA\csBsubscript\csA\csBsuperscriptsubscript𝐬𝐢𝐣\IfSubStr{s_{i}^{j}}{{\StrCut{s_{i}^{j}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s_{i}^{j}}}}} denotes the subvector of \IfSubStrs\StrCuts\csA\csB\csA\csB𝐬\IfSubStr𝑠\StrCut𝑠\csA\csBsubscript\csA\csB𝐬\IfSubStr{s}{{\StrCut{s}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{s}}}} of coordinates si,si+1,,sj1,sjsubscript𝑠𝑖subscript𝑠𝑖1subscript𝑠𝑗1subscript𝑠𝑗s_{i},s_{i+1},...,s_{j-1},s_{j}. Thus, \IfSubStrz~\StrCutz~\csA\csB\csA\csB𝐳~\IfSubStr~𝑧\StrCut~𝑧\csA\csBsubscript\csA\csB~𝐳\IfSubStr{\tilde{z}}{{\StrCut{\tilde{z}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\tilde{z}}}}} satisfies (2). ∎

Clearly, constructing the required FP problems takes strongly polynomial time and we have only two calls to 𝒪𝒪\mathcal{O}, so the reduction is strongly-polynomial time. ∎

Lemma 10.

FP reduces in strongly-polynomial time to BFP.

Proof.

Let 𝒪𝒪\mathcal{O} denote the oracle for BFP. Suppose A=(aij/αij)i,j=1d,n𝐴superscriptsubscriptsubscript𝑎𝑖𝑗subscript𝛼𝑖𝑗𝑖𝑗1𝑑𝑛A=(a_{ij}/\alpha_{ij})_{i,j=1}^{d,n}, \IfSubStrb\StrCutb\csA\csB\csA\csB𝐛=(bj/βj)j=1d\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛superscriptsubscriptsubscript𝑏𝑗subscript𝛽𝑗𝑗1𝑑\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}=(b_{j}/\beta_{j})_{j=1}^{d}}} and define D:=max(maxi[d],j[n]|αij|,maxk[d]|βk|)assign𝐷subscriptformulae-sequence𝑖delimited-[]𝑑𝑗delimited-[]𝑛subscript𝛼𝑖𝑗subscript𝑘delimited-[]𝑑subscript𝛽𝑘D:=\max(\max_{i\in[d],j\in[n]}|\alpha_{ij}|,\max_{k\in[d]}|\beta_{k}|) and N:=max(maxi[d],j[n]|aij|,maxk[d]|bk|)+1assign𝑁subscriptformulae-sequence𝑖delimited-[]𝑑𝑗delimited-[]𝑛subscript𝑎𝑖𝑗subscript𝑘delimited-[]𝑑subscript𝑏𝑘1N:=\max(\max_{i\in[d],j\in[n]}|a_{ij}|,\max_{k\in[d]}|b_{k}|)+1. If the entry of A𝐴A, aij/αij=0subscript𝑎𝑖𝑗subscript𝛼𝑖𝑗0a_{ij}/\alpha_{ij}=0 or the entry of \IfSubStrb\StrCutb\csA\csB\csA\csB𝐛\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}, bj/βj=0subscript𝑏𝑗subscript𝛽𝑗0b_{j}/\beta_{j}=0 define aij=0subscript𝑎𝑖𝑗0a_{ij}=0 and αij=1subscript𝛼𝑖𝑗1\alpha_{ij}=1 or bj=0subscript𝑏𝑗0b_{j}=0 and βj=1subscript𝛽𝑗1\beta_{j}=1.

Ad×n,\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛dformulae-sequence𝐴superscript𝑑𝑛\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛superscript𝑑A\in\mathbb{Q}^{d\times n},\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}\in\mathbb{Q}^{d}}}.
Invoke 𝒪𝒪\mathcal{O} on A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛,\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,i=1nxinDd(n+1)min(d3,n3)Nd(n+1)formulae-sequence𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛formulae-sequence\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0superscriptsubscript𝑖1𝑛subscript𝑥𝑖𝑛superscript𝐷𝑑𝑛1superscript𝑑3superscript𝑛3superscript𝑁𝑑𝑛1A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}},\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},\sum_{i=1}^{n}x_{i}\leq nD^{d(n+1)\min(d^{3},n^{3})}N^{d(n+1)}}}}}}}}}. If the output is NO, output NO, else output rational \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}}.
Claim 12.

The FP A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛,\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎formulae-sequence𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}},\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}}}}}} is feasible if and only if the BFP A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛,\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,i=1nxinDd(n+1)min(d3,n3)Nd(n+1)formulae-sequence𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛formulae-sequence\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0superscriptsubscript𝑖1𝑛subscript𝑥𝑖𝑛superscript𝐷𝑑𝑛1superscript𝑑3superscript𝑛3superscript𝑁𝑑𝑛1A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}},\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},\sum_{i=1}^{n}x_{i}\leq nD^{d(n+1)\min(d^{3},n^{3})}N^{d(n+1)}}}}}}}}} is feasible.

Proof of Claim.

If the BFP is feasible then clearly the FP is feasible. Suppose the FP is feasible. By the theory of minimal faces of polyhedra, we can reduce this to a FP defined by a square matrix, A𝐴A, in the following way: By [7, Theorem 1.1], there is a solution, \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}}, with no more than min(d,n)𝑑𝑛\min(d,n) positive entries so that A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}}} and the positive entries of \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} combine linearly independent columns of A𝐴A to form \IfSubStrb\StrCutb\csA\csB\csA\csB𝐛\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}. Let Asuperscript𝐴A^{\prime} denote the matrix containing only these linearly independent columns and \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}^{\prime}}} denote only the positive entries of \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}}. Then A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛superscript𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛A^{\prime}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}^{\prime}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}}}. Now, note that Ad×msuperscript𝐴superscript𝑑𝑚A^{\prime}\in\mathbb{Q}^{d\times m} where md𝑚𝑑m\leq d. Since the column rank of Asuperscript𝐴A^{\prime} equals the row rank of Asuperscript𝐴A^{\prime}, we may remove dm𝑑𝑚d-m linearly dependent rows of Asuperscript𝐴A^{\prime} and the corresponding entries of \IfSubStrb\StrCutb\csA\csB\csA\csB𝐛\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}, forming A′′superscript𝐴′′A^{\prime\prime} and \IfSubStrb\StrCutb\csA\csB\csA\csB𝐛\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csBsuperscript𝐛\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}^{\prime}}} so that A′′\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛superscript𝐴′′\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csBsuperscript𝐛A^{\prime\prime}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}^{\prime}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}^{\prime}}}}} where A′′m×msuperscript𝐴′′superscript𝑚𝑚A^{\prime\prime}\in\mathbb{Q}^{m\times m}, \IfSubStrb\StrCutb\csA\csB\csA\csB𝐛m\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csBsuperscript𝐛superscript𝑚\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}^{\prime}\in\mathbb{Q}^{m}}} and A′′superscript𝐴′′A^{\prime\prime} is a full-rank matrix.

Define M:=i,j=1m|αi,j′′|k=1m|βk|assign𝑀superscriptsubscriptproduct𝑖𝑗1𝑚superscriptsubscript𝛼𝑖𝑗′′superscriptsubscriptproduct𝑘1𝑚superscriptsubscript𝛽𝑘M:=\prod_{i,j=1}^{m}|\alpha_{i,j}^{\prime\prime}|\prod_{k=1}^{m}|\beta_{k}^{\prime}| and note that MDd(n+1)𝑀superscript𝐷𝑑𝑛1M\leq D^{d(n+1)}. Define L:=i,j=1m(|ai,j′′|+1)k=1m(|bk|+1)assign𝐿superscriptsubscriptproduct𝑖𝑗1𝑚superscriptsubscript𝑎𝑖𝑗′′1superscriptsubscriptproduct𝑘1𝑚superscriptsubscript𝑏𝑘1L:=\prod_{i,j=1}^{m}(|a_{i,j}^{\prime\prime}|+1)\prod_{k=1}^{m}(|b_{k}^{\prime}|+1) and note that LNd(n+1)𝐿superscript𝑁𝑑𝑛1L\leq N^{d(n+1)}. Define A¯=MA′′¯𝐴𝑀superscript𝐴′′\bar{A}=MA^{\prime\prime} and \IfSubStrb\StrCutb\csA\csB\csA\csB𝐛¯=Mb¯\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛𝑀superscript𝑏\bar{\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}=Mb^{\prime}}} and note that A¯¯𝐴\bar{A} and \IfSubStrb\StrCutb\csA\csB\csA\csB𝐛¯¯\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\bar{\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}} are integral. By Cramer’s rule, we known that xi=|detA¯i||detA¯|superscriptsubscript𝑥𝑖detsubscript¯𝐴𝑖det¯𝐴x_{i}^{\prime}=\frac{|\text{det}\bar{A}_{i}|}{|\text{det}\bar{A}|} where A¯isubscript¯𝐴𝑖\bar{A}_{i} denotes A¯¯𝐴\bar{A} with the i𝑖ith column replaced by \IfSubStrb\StrCutb\csA\csB\csA\csB𝐛¯¯\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\bar{\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}}. By integrality, |detA¯|1det¯𝐴1|\text{det}\bar{A}|\geq 1, so xi|detA¯i|i,j=1mM(|aij|+1)k=1mM(|bk|+1)=Mm3LDd(n+1)min(d3,n3)Nd(n+1)superscriptsubscript𝑥𝑖detsubscript¯𝐴𝑖superscriptsubscriptproduct𝑖𝑗1𝑚𝑀subscript𝑎𝑖𝑗1superscriptsubscriptproduct𝑘1𝑚𝑀subscript𝑏𝑘1superscript𝑀superscript𝑚3𝐿superscript𝐷𝑑𝑛1superscript𝑑3superscript𝑛3superscript𝑁𝑑𝑛1x_{i}^{\prime}\leq|\text{det}\bar{A}_{i}|\leq\prod_{i,j=1}^{m}M(|a_{ij}|+1)\prod_{k=1}^{m}M(|b_{k}|+1)=M^{m^{3}}L\leq D^{d(n+1)\min(d^{3},n^{3})}N^{d(n+1)}. Now, note that \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csBsuperscript𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}^{\prime}}} defines a solution, \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}}, to the original system of equations. Let xi=xjsubscript𝑥𝑖superscriptsubscript𝑥𝑗x_{i}=x_{j}^{\prime} if the j𝑗jth column of Asuperscript𝐴A^{\prime} was the selected i𝑖ith column of A𝐴A and xi=0subscript𝑥𝑖0x_{i}=0 if the i𝑖ith column of A𝐴A was not selected. Note then that A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛,\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,i=1nxinDd(n+1)min(d3,n3)Nd(n+1)formulae-sequence𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛formulae-sequence\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0superscriptsubscript𝑖1𝑛subscript𝑥𝑖𝑛superscript𝐷𝑑𝑛1superscript𝑑3superscript𝑛3superscript𝑁𝑑𝑛1A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}},\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},\sum_{i=1}^{n}x_{i}\leq nD^{d(n+1)\min(d^{3},n^{3})}N^{d(n+1)}}}}}}}}}. ∎

Thus, we have that the FP and BFP are equivalent. To see that this is a strongly-polynomial time reduction, note that adding this additional constraint takes time for constructing the number nDd(n+1)min(d3,n3)Nd(n+1)𝑛superscript𝐷𝑑𝑛1superscript𝑑3superscript𝑛3superscript𝑁𝑑𝑛1nD^{d(n+1)\min(d^{3},n^{3})}N^{d(n+1)} plus small constant time. This number takes d(n+1)𝑑𝑛1d(n+1) comparisons and d(n+1)min(d3,n3)𝑑𝑛1superscript𝑑3superscript𝑛3d(n+1)\min(d^{3},n^{3}) multiplications to form. Additionally, this number takes space which is polynomial in the size of the input (polynomial in d𝑑d,n𝑛n and size of D𝐷D, N𝑁N). ∎

Lemma 11.

BFP reduces in strongly-polynomial time to VPM.

Proof.

Let 𝒪𝒪\mathcal{O} denote the oracle for VPM.

Ad×n,bd,0<Mformulae-sequence𝐴superscript𝑑𝑛formulae-sequence𝑏superscript𝑑0𝑀A\in\mathbb{Q}^{d\times n},b\in\mathbb{Q}^{d},0<M\in\mathbb{Q}.
Invoke 𝒪𝒪\mathcal{O} on
[MA0][\IfSubStry\StrCuty\csA\csB\csA\csB𝐲z]=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛,[\IfSubStry\StrCuty\csA\csB\csA\csB𝐲z]\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,z+i=1nyi=1.formulae-sequencematrix𝑀𝐴0matrix\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲𝑧\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛formulae-sequencematrix\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲𝑧\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0𝑧superscriptsubscript𝑖1𝑛subscript𝑦𝑖1\begin{bmatrix}MA&0\end{bmatrix}\begin{bmatrix}\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\\ z\end{bmatrix}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}},\begin{bmatrix}\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\\ z\end{bmatrix}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},z+\sum_{i=1}^{n}y_{i}=1.}}}}}}}} (3)
If the output is NO, output NO, else output rational \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=M\IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝑀\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=M\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}}}}.
Claim 13.

A solution

\IfSubStrw~\StrCutw~\csA\csB\csA\csB𝐰~:=[\IfSubStry\StrCuty\csA\csB\csA\csB𝐲z]assign\IfSubStr~𝑤\StrCut~𝑤\csA\csBsubscript\csA\csB~𝐰matrix\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲𝑧\IfSubStr{\tilde{w}}{{\StrCut{\tilde{w}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\tilde{w}}}:=\begin{bmatrix}\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\\ z\end{bmatrix}}}}}

to (3) gives a solution the BFP instance, A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛,\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,i=1nxiMformulae-sequence𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛formulae-sequence\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0superscriptsubscript𝑖1𝑛subscript𝑥𝑖𝑀A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}},\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},\sum_{i=1}^{n}x_{i}\leq M}}}}}}}} and vice versa.

Proof of Claim.

Suppose \IfSubStrw~\StrCutw~\csA\csB\csA\csB𝐰~\IfSubStr~𝑤\StrCut~𝑤\csA\csBsubscript\csA\csB~𝐰\IfSubStr{\tilde{w}}{{\StrCut{\tilde{w}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\tilde{w}}}}} satisfies (3). Then \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=M\IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝑀\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=M\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}}}}} is a solution to the BFP instance since A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=MA\IfSubStry\StrCuty\csA\csB\csA\csB𝐲=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝑀𝐴\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=MA\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}}}}} and since \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}}, \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=M\IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝑀\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=M\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}}}} and since i=1nyi+z=1superscriptsubscript𝑖1𝑛subscript𝑦𝑖𝑧1\sum_{i=1}^{n}y_{i}+z=1, we have i=1nyi1superscriptsubscript𝑖1𝑛subscript𝑦𝑖1\sum_{i=1}^{n}y_{i}\leq 1 so i=1nxi=Mi=1nyiMsuperscriptsubscript𝑖1𝑛subscript𝑥𝑖𝑀superscriptsubscript𝑖1𝑛subscript𝑦𝑖𝑀\sum_{i=1}^{n}x_{i}=M\sum_{i=1}^{n}y_{i}\leq M. Suppose \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} is a solution to the BFP instance. Then \IfSubStry\StrCuty\csA\csB\csA\csB𝐲=1M\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲1𝑀\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}=\frac{1}{M}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}}}} and z=1i=1nyi𝑧1superscriptsubscript𝑖1𝑛subscript𝑦𝑖z=1-\sum_{i=1}^{n}y_{i} satisfies (3), since [MA0]\IfSubStrw~\StrCutw~\csA\csB\csA\csB𝐰~=MA\IfSubStry\StrCuty\csA\csB\csA\csB𝐲=A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛matrix𝑀𝐴0\IfSubStr~𝑤\StrCut~𝑤\csA\csBsubscript\csA\csB~𝐰𝑀𝐴\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\begin{bmatrix}MA&0\end{bmatrix}\IfSubStr{\tilde{w}}{{\StrCut{\tilde{w}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{\tilde{w}}}=MA\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}=A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}}}}}}}, \IfSubStry\StrCuty\csA\csB\csA\csB𝐲\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}} since \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}} and since i=1nxiMsuperscriptsubscript𝑖1𝑛subscript𝑥𝑖𝑀\sum_{i=1}^{n}x_{i}\leq M, we have i=1nyi=1Mi=1nxi1superscriptsubscript𝑖1𝑛subscript𝑦𝑖1𝑀superscriptsubscript𝑖1𝑛subscript𝑥𝑖1\sum_{i=1}^{n}y_{i}=\frac{1}{M}\sum_{i=1}^{n}x_{i}\leq 1 so z0𝑧0z\geq 0. ∎

Clearly, this reduction is simply a rewriting, so the reduction is strongly-polynomial time. ∎

Lemma 12.

VPM reduces in strongly-polynomial time to ZVPM.

Proof.

Let 𝒪𝒪\mathcal{O} be the oracle for ZVPM.

Ad×n,bdformulae-sequence𝐴superscript𝑑𝑛𝑏superscript𝑑A\in\mathbb{Q}^{d\times n},b\in\mathbb{Q}^{d}.
Invoke 𝒪𝒪\mathcal{O} on
[\IfSubStra1\StrCuta1\csA\csB\csA\csB𝐚𝟏\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛\IfSubStra2\StrCuta2\csA\csB\csA\csB𝐚𝟐\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛\IfSubStran\StrCutan\csA\csB\csA\csB𝐚𝐧\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛]\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,i=1nxi=1formulae-sequencematrix\IfSubStrsubscript𝑎1\StrCutsubscript𝑎1\csA\csBsubscript\csA\csBsubscript𝐚1\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStrsubscript𝑎2\StrCutsubscript𝑎2\csA\csBsubscript\csA\csBsubscript𝐚2\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStrsubscript𝑎𝑛\StrCutsubscript𝑎𝑛\csA\csBsubscript\csA\csBsubscript𝐚𝐧\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0formulae-sequence\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0superscriptsubscript𝑖1𝑛subscript𝑥𝑖1\begin{bmatrix}\IfSubStr{a_{1}}{{\StrCut{a_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a_{1}}}-\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}&\IfSubStr{a_{2}}{{\StrCut{a_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a_{2}}}-\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}&\cdots&\IfSubStr{a_{n}}{{\StrCut{a_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a_{n}}}-\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}\end{bmatrix}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\geq\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},\sum_{i=1}^{n}x_{i}=1}}}}}}}}}}}}}}}}}}}} (4)
where \IfSubStrai\StrCutai\csA\csB\csA\csB𝐚𝐢m\IfSubStrsubscript𝑎𝑖\StrCutsubscript𝑎𝑖\csA\csBsubscript\csA\csBsubscript𝐚𝐢superscript𝑚\IfSubStr{a_{i}}{{\StrCut{a_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a_{i}}}\in\mathbb{Q}^{m}}} is the i𝑖ith column of A𝐴A. If the output is NO, output NO, else output rational \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}}.
Claim 14.

A solution to (4) gives a solution to the VPM instance and vice versa.

Proof of Claim.

Note that \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} satisfies (4) if and only if 0=i=1nxi(\IfSubStrai\StrCutai\csA\csB\csA\csB𝐚𝐢\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛)=i=1nxi\IfSubStrai\StrCutai\csA\csB\csA\csB𝐚𝐢\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛i=1nxi=A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛0superscriptsubscript𝑖1𝑛subscript𝑥𝑖\IfSubStrsubscript𝑎𝑖\StrCutsubscript𝑎𝑖\csA\csBsubscript\csA\csBsubscript𝐚𝐢\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛superscriptsubscript𝑖1𝑛subscript𝑥𝑖\IfSubStrsubscript𝑎𝑖\StrCutsubscript𝑎𝑖\csA\csBsubscript\csA\csBsubscript𝐚𝐢\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛superscriptsubscript𝑖1𝑛subscript𝑥𝑖𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛0=\sum_{i=1}^{n}x_{i}(\IfSubStr{a_{i}}{{\StrCut{a_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a_{i}}}-\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}})=\sum_{i=1}^{n}x_{i}\IfSubStr{a_{i}}{{\StrCut{a_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a_{i}}}-\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}\sum_{i=1}^{n}x_{i}=A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}-\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}}}}}}}}}}} so A\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=\IfSubStrb\StrCutb\csA\csB\csA\csB𝐛𝐴\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑏\StrCut𝑏\csA\csBsubscript\csA\csB𝐛A\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=\IfSubStr{b}{{\StrCut{b}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{b}}}}}}. Thus, \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} is a solution to the VPM instance if and only if \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} is a solution to (4). ∎

Clearly, this reduction is simply a rewriting, so the reduction is strongly-polynomial time. ∎

Lemma 13.

ZVPM reduces in strongly-polynomial time to ZVPMD.

Proof idea. The reduction sequentially asks for every vertex whether it is redundant and if so, it removes it and continues. This process ends with at most d+1𝑑1d+1 vertices so that \IfSubStrx\StrCutx\csA\csB\csA\csB𝐱\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}}} is a strict convex combination of them and the coefficients xisubscript𝑥𝑖x_{i} can be found in this resulting case by solving a linear system. \square

Proof.

Let 𝒪𝒪\mathcal{O} denote the ZVPMD oracle.

P:={\IfSubStrA1\StrCutA1\csA\csB\csA\csB𝐀𝟏,,\IfSubStrAn\StrCutAn\csA\csB\csA\csB𝐀𝐧}dassign𝑃\IfSubStrsubscript𝐴1\StrCutsubscript𝐴1\csA\csBsubscript\csA\csBsubscript𝐀1\IfSubStrsubscript𝐴𝑛\StrCutsubscript𝐴𝑛\csA\csBsubscript\csA\csBsubscript𝐀𝐧superscript𝑑P:=\{\IfSubStr{A_{1}}{{\StrCut{A_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{A_{1}}},\dotsc,\IfSubStr{A_{n}}{{\StrCut{A_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{A_{n}}}\}\subseteq\mathbb{Q}^{d}}}}} where Aisubscript𝐴𝑖A_{i} is the i𝑖ith column of A𝐴A.
Invoke 𝒪𝒪\mathcal{O} on P𝑃P. If the output is NO, output NO.
for i=1,,n𝑖1𝑛i=1,\dotsc,n do
     Invoke 𝒪𝒪\mathcal{O} on instance P𝑃P without \IfSubStrAi\StrCutAi\csA\csB\csA\csB𝐀𝐢\IfSubStrsubscript𝐴𝑖\StrCutsubscript𝐴𝑖\csA\csBsubscript\csA\csBsubscript𝐀𝐢\IfSubStr{A_{i}}{{\StrCut{A_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{A_{i}}}}}. If output is YES, remove \IfSubStrAi\StrCutAi\csA\csB\csA\csB𝐀𝐢\IfSubStrsubscript𝐴𝑖\StrCutsubscript𝐴𝑖\csA\csBsubscript\csA\csBsubscript𝐀𝐢\IfSubStr{A_{i}}{{\StrCut{A_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{A_{i}}}}} from P𝑃P.
end for
Let m𝑚m be the cardinality of P𝑃P.
Output the solution x1,,xmsubscript𝑥1subscript𝑥𝑚x_{1},\dotsc,x_{m} to the linear system xi=1subscript𝑥𝑖1\sum x_{i}=1, \IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢Pxi\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢=\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎subscript\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢𝑃subscript𝑥𝑖\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\sum_{\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}\in P}x_{i}\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}=\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}}}}}}

Let Psuperscript𝑃P^{*} be the resulting set of points P𝑃P after the loop in the reduction. Claim: Psuperscript𝑃P^{*} contains at most d+1𝑑1d+1 points so that \IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}} is a strict convex combination of (all of) them. Proof of claim: By Caratheodory’s theorem there is a subset QP𝑄superscript𝑃Q\subseteq P^{*} of at most d+1𝑑1d+1 points so that \IfSubStr0\StrCut0\csA\csB\csA\csB𝟎\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}}} is a strict convex combination of points in Q𝑄Q. We will see that Psuperscript𝑃P^{*} is actually equal to Q𝑄Q. Suppose not, for a contradiction. Let \IfSubStrp\StrCutp\csA\csB\csA\csB𝐩PQ\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csB𝐩superscript𝑃𝑄\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}\in P^{*}\setminus Q}}. At the time the loop in the reduction examines \IfSubStrp\StrCutp\csA\csB\csA\csB𝐩\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csB𝐩\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}}}, no point in Q𝑄Q has been removed and therefore \IfSubStrp\StrCutp\csA\csB\csA\csB𝐩\IfSubStr𝑝\StrCut𝑝\csA\csBsubscript\csA\csB𝐩\IfSubStr{p}{{\StrCut{p}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p}}}} is redundant and is removed. This is a contradiction. ∎

In our next lemma, we make use of the following elementary fact.

Claim 15.

Given A𝐴A an m×n𝑚𝑛m\times n matrix let B𝐵B be A𝐴A with a row of 111s appended. The columns of A𝐴A are affinely independent if and only if the columns of B𝐵B are linearly independent. The convex hull of the columns of A𝐴A is full dimensional if and only if rank of B𝐵B is m+1𝑚1m+1.

Lemma 14.

ZVPMD reduces in strongly-polynomial time to DVS.

Proof.

Clearly ZVPMD reduces in strongly-polynomial time to DVP: Output YES if the distance is 0, output NO otherwise.

Given an instance of distance to a V-polytope, \IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,\IfSubStrp2\StrCutp2\csA\csB\csA\csB𝐩𝟐,,\IfSubStrpn\StrCutpn\csA\csB\csA\csB𝐩𝐧\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝2\StrCutsubscript𝑝2\csA\csBsubscript\csA\csBsubscript𝐩2\IfSubStrsubscript𝑝𝑛\StrCutsubscript𝑝𝑛\csA\csBsubscript\csA\csBsubscript𝐩𝐧\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\IfSubStr{p_{2}}{{\StrCut{p_{2}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{2}}},\dotsc,\IfSubStr{p_{n}}{{\StrCut{p_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{n}}}}}}}}}, we reduce it to an instance of DVS as follows: We lift the points to an affinely independent set in higher dimension, a simplex, by adding small-valued new coordinates. 15 allows us to handle affine independence in matrix form. Let A𝐴A be the d×n𝑑𝑛d\times n matrix having columns (\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢)i=1nsuperscriptsubscript\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢𝑖1𝑛(\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}})_{i=1}^{n}}}. Let \IfSubStrv1\StrCutv1\csA\csB\csA\csB𝐯𝟏,,\IfSubStrvd\StrCutvd\csA\csB\csA\csB𝐯𝐝\IfSubStrsubscript𝑣1\StrCutsubscript𝑣1\csA\csBsubscript\csA\csBsubscript𝐯1\IfSubStrsubscript𝑣𝑑\StrCutsubscript𝑣𝑑\csA\csBsubscript\csA\csBsubscript𝐯𝐝\IfSubStr{v_{1}}{{\StrCut{v_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{1}}},\dotsc,\IfSubStr{v_{d}}{{\StrCut{v_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d}}}}}}} be the rows of A𝐴A. Let \IfSubStrv0\StrCutv0\csA\csB\csA\csB𝐯𝟎n\IfSubStrsubscript𝑣0\StrCutsubscript𝑣0\csA\csBsubscript\csA\csBsubscript𝐯0superscript𝑛\IfSubStr{v_{0}}{{\StrCut{v_{0}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{0}}}\in\mathbb{R}^{n}}} be the all-ones vector. We want to add vectors \IfSubStrvd+1\StrCutvd+1\csA\csB\csA\csB𝐯𝐝+𝟏,,\IfSubStrvd+t\StrCutvd+t\csA\csB\csA\csB𝐯𝐝+𝐭\IfSubStrsubscript𝑣𝑑1\StrCutsubscript𝑣𝑑1\csA\csBsubscript\csA\csBsubscript𝐯𝐝1\IfSubStrsubscript𝑣𝑑𝑡\StrCutsubscript𝑣𝑑𝑡\csA\csBsubscript\csA\csBsubscript𝐯𝐝𝐭\IfSubStr{v_{d+1}}{{\StrCut{v_{d+1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d+1}}},\dotsc,\IfSubStr{v_{d+t}}{{\StrCut{v_{d+t}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d+t}}}}}}}, for some t𝑡t, so that \IfSubStrv0\StrCutv0\csA\csB\csA\csB𝐯𝟎,,\IfSubStrvd+t\StrCutvd+t\csA\csB\csA\csB𝐯𝐝+𝐭\IfSubStrsubscript𝑣0\StrCutsubscript𝑣0\csA\csBsubscript\csA\csBsubscript𝐯0\IfSubStrsubscript𝑣𝑑𝑡\StrCutsubscript𝑣𝑑𝑡\csA\csBsubscript\csA\csBsubscript𝐯𝐝𝐭\IfSubStr{v_{0}}{{\StrCut{v_{0}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{0}}},\dotsc,\IfSubStr{v_{d+t}}{{\StrCut{v_{d+t}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d+t}}}}}}} is of rank n𝑛n. To this end, we construct an orthogonal basis (but not normalized, to preserve rationality) of the orthogonal complement of span(\IfSubStrv0\StrCutv0\csA\csB\csA\csB𝐯𝟎,,\IfSubStrvd\StrCutvd\csA\csB\csA\csB𝐯𝐝)span\IfSubStrsubscript𝑣0\StrCutsubscript𝑣0\csA\csBsubscript\csA\csBsubscript𝐯0\IfSubStrsubscript𝑣𝑑\StrCutsubscript𝑣𝑑\csA\csBsubscript\csA\csBsubscript𝐯𝐝\operatorname{span}\left(\IfSubStr{v_{0}}{{\StrCut{v_{0}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{0}}},\dotsc,\IfSubStr{v_{d}}{{\StrCut{v_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d}}}\right)}}}}. The basis is obtained by applying the Gram-Schmidt orthogonalization procedure (without the normalization step) to the sequence \IfSubStrv0\StrCutv0\csA\csB\csA\csB𝐯𝟎,,\IfSubStrvd\StrCutvd\csA\csB\csA\csB𝐯𝐝,\IfSubStre1\StrCute1\csA\csB\csA\csB𝐞𝟏,,\IfSubStren\StrCuten\csA\csB\csA\csB𝐞𝐧\IfSubStrsubscript𝑣0\StrCutsubscript𝑣0\csA\csBsubscript\csA\csBsubscript𝐯0\IfSubStrsubscript𝑣𝑑\StrCutsubscript𝑣𝑑\csA\csBsubscript\csA\csBsubscript𝐯𝐝\IfSubStrsubscript𝑒1\StrCutsubscript𝑒1\csA\csBsubscript\csA\csBsubscript𝐞1\IfSubStrsubscript𝑒𝑛\StrCutsubscript𝑒𝑛\csA\csBsubscript\csA\csBsubscript𝐞𝐧\IfSubStr{v_{0}}{{\StrCut{v_{0}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{0}}},\dotsc,\IfSubStr{v_{d}}{{\StrCut{v_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d}}},\IfSubStr{e_{1}}{{\StrCut{e_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{e_{1}}},\dotsc,\IfSubStr{e_{n}}{{\StrCut{e_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{e_{n}}}}}}}}}}}. Denote \IfSubStrvd+1\StrCutvd+1\csA\csB\csA\csB𝐯𝐝+𝟏,,\IfSubStrvd+t\StrCutvd+t\csA\csB\csA\csB𝐯𝐝+𝐭\IfSubStrsubscript𝑣𝑑1\StrCutsubscript𝑣𝑑1\csA\csBsubscript\csA\csBsubscript𝐯𝐝1\IfSubStrsubscript𝑣𝑑𝑡\StrCutsubscript𝑣𝑑𝑡\csA\csBsubscript\csA\csBsubscript𝐯𝐝𝐭\IfSubStr{v_{d+1}}{{\StrCut{v_{d+1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d+1}}},\dotsc,\IfSubStr{v_{d+t}}{{\StrCut{v_{d+t}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d+t}}}}}}} the resulting orthogonal basis of the orthogonal complement of span(\IfSubStrv0\StrCutv0\csA\csB\csA\csB𝐯𝟎,,\IfSubStrvd\StrCutvd\csA\csB\csA\csB𝐯𝐝)span\IfSubStrsubscript𝑣0\StrCutsubscript𝑣0\csA\csBsubscript\csA\csBsubscript𝐯0\IfSubStrsubscript𝑣𝑑\StrCutsubscript𝑣𝑑\csA\csBsubscript\csA\csBsubscript𝐯𝐝\operatorname{span}\left(\IfSubStr{v_{0}}{{\StrCut{v_{0}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{0}}},\dotsc,\IfSubStr{v_{d}}{{\StrCut{v_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d}}}\right)}}}}. The matrix with rows \IfSubStrv0\StrCutv0\csA\csB\csA\csB𝐯𝟎,,\IfSubStrvd\StrCutvd\csA\csB\csA\csB𝐯𝐝,\IfSubStrvd+1\StrCutvd+1\csA\csB\csA\csB𝐯𝐝+𝟏,,\IfSubStrvd+t\StrCutvd+t\csA\csB\csA\csB𝐯𝐝+𝐭\IfSubStrsubscript𝑣0\StrCutsubscript𝑣0\csA\csBsubscript\csA\csBsubscript𝐯0\IfSubStrsubscript𝑣𝑑\StrCutsubscript𝑣𝑑\csA\csBsubscript\csA\csBsubscript𝐯𝐝\IfSubStrsubscript𝑣𝑑1\StrCutsubscript𝑣𝑑1\csA\csBsubscript\csA\csBsubscript𝐯𝐝1\IfSubStrsubscript𝑣𝑑𝑡\StrCutsubscript𝑣𝑑𝑡\csA\csBsubscript\csA\csBsubscript𝐯𝐝𝐭\IfSubStr{v_{0}}{{\StrCut{v_{0}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{0}}},\dotsc,\IfSubStr{v_{d}}{{\StrCut{v_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d}}},\IfSubStr{v_{d+1}}{{\StrCut{v_{d+1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d+1}}},\dotsc,\IfSubStr{v_{d+t}}{{\StrCut{v_{d+t}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d+t}}}}}}}}}}} is of rank n𝑛n and so is the matrix with rows

\IfSubStrv0\StrCutv0\csA\csB\csA\csB𝐯𝟎,,\IfSubStrvd\StrCutvd\csA\csB\csA\csB𝐯𝐝,ϵ\IfSubStrvd+1\StrCutvd+1\csA\csB\csA\csB𝐯𝐝+𝟏,,ϵ\IfSubStrvd+t\StrCutvd+t\csA\csB\csA\csB𝐯𝐝+𝐭\IfSubStrsubscript𝑣0\StrCutsubscript𝑣0\csA\csBsubscript\csA\csBsubscript𝐯0\IfSubStrsubscript𝑣𝑑\StrCutsubscript𝑣𝑑\csA\csBsubscript\csA\csBsubscript𝐯𝐝italic-ϵ\IfSubStrsubscript𝑣𝑑1\StrCutsubscript𝑣𝑑1\csA\csBsubscript\csA\csBsubscript𝐯𝐝1italic-ϵ\IfSubStrsubscript𝑣𝑑𝑡\StrCutsubscript𝑣𝑑𝑡\csA\csBsubscript\csA\csBsubscript𝐯𝐝𝐭\IfSubStr{v_{0}}{{\StrCut{v_{0}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{0}}},\dotsc,\IfSubStr{v_{d}}{{\StrCut{v_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d}}},\epsilon\IfSubStr{v_{d+1}}{{\StrCut{v_{d+1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d+1}}},\dotsc,\epsilon\IfSubStr{v_{d+t}}{{\StrCut{v_{d+t}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d+t}}}}}}}}}}}

for any ϵ>0italic-ϵ0\epsilon>0 (to be fixed later). Therefore, the n𝑛n columns of this matrix are linearly independent. Let B𝐵B be the matrix with rows

\IfSubStrv1\StrCutv1\csA\csB\csA\csB𝐯𝟏,,\IfSubStrvd\StrCutvd\csA\csB\csA\csB𝐯𝐝,ϵ\IfSubStrvd+1\StrCutvd+1\csA\csB\csA\csB𝐯𝐝+𝟏,,ϵ\IfSubStrvd+t\StrCutvd+t\csA\csB\csA\csB𝐯𝐝+𝐭.\IfSubStrsubscript𝑣1\StrCutsubscript𝑣1\csA\csBsubscript\csA\csBsubscript𝐯1\IfSubStrsubscript𝑣𝑑\StrCutsubscript𝑣𝑑\csA\csBsubscript\csA\csBsubscript𝐯𝐝italic-ϵ\IfSubStrsubscript𝑣𝑑1\StrCutsubscript𝑣𝑑1\csA\csBsubscript\csA\csBsubscript𝐯𝐝1italic-ϵ\IfSubStrsubscript𝑣𝑑𝑡\StrCutsubscript𝑣𝑑𝑡\csA\csBsubscript\csA\csBsubscript𝐯𝐝𝐭\IfSubStr{v_{1}}{{\StrCut{v_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{1}}},\dotsc,\IfSubStr{v_{d}}{{\StrCut{v_{d}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d}}},\epsilon\IfSubStr{v_{d+1}}{{\StrCut{v_{d+1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d+1}}},\dotsc,\epsilon\IfSubStr{v_{d+t}}{{\StrCut{v_{d+t}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{d+t}}}.}}}}}}}}

Let \IfSubStrw1\StrCutw1\csA\csB\csA\csB𝐰𝟏,,\IfSubStrwn\StrCutwn\csA\csB\csA\csB𝐰𝐧\IfSubStrsubscript𝑤1\StrCutsubscript𝑤1\csA\csBsubscript\csA\csBsubscript𝐰1\IfSubStrsubscript𝑤𝑛\StrCutsubscript𝑤𝑛\csA\csBsubscript\csA\csBsubscript𝐰𝐧\IfSubStr{w_{1}}{{\StrCut{w_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{w_{1}}},\dotsc,\IfSubStr{w_{n}}{{\StrCut{w_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{w_{n}}}}}}} be the columns of B𝐵B. By construction and 15 they are affinely independent. Let S𝑆S denote the convex hull of these (n1)𝑛1(n-1)-dimensional rational points. Polytope S𝑆S is a simplex. Moreover, if Q:=conv{\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,,\IfSubStrpn\StrCutpn\csA\csB\csA\csB𝐩𝐧}assign𝑄conv\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝𝑛\StrCutsubscript𝑝𝑛\csA\csBsubscript\csA\csBsubscript𝐩𝐧Q:=\operatorname{conv}\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\dotsc,\IfSubStr{p_{n}}{{\StrCut{p_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{n}}}\}}}}}, then

d(\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,S)2d(\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,Q)2+ϵ2i=d+1d+t\IfSubStrvi\StrCutvi\csA\csB\csA\csB𝐯𝐢22d(\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,Q)2+ϵ2n𝑑superscript\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0𝑆2𝑑superscript\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0𝑄2superscriptitalic-ϵ2superscriptsubscript𝑖𝑑1𝑑𝑡subscriptsuperscriptdelimited-∥∥\IfSubStrsubscript𝑣𝑖\StrCutsubscript𝑣𝑖\csA\csBsubscript\csA\csBsubscript𝐯𝐢22𝑑superscript\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0𝑄2superscriptitalic-ϵ2𝑛d(\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},S)^{2}\leq d(\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},Q)^{2}+\epsilon^{2}\sum_{i=d+1}^{d+t}\lVert\IfSubStr{v_{i}}{{\StrCut{v_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{i}}}\rVert^{2}_{2}\leq d(\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},Q)^{2}+\epsilon^{2}n}}}}}}}}

(where we use that \IfSubStrvi\StrCutvi\csA\csB\csA\csB𝐯𝐢21subscriptdelimited-∥∥\IfSubStrsubscript𝑣𝑖\StrCutsubscript𝑣𝑖\csA\csBsubscript\csA\csBsubscript𝐯𝐢21{\lVert\IfSubStr{v_{i}}{{\StrCut{v_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{v_{i}}}\rVert}_{2}\leq 1}}, from the Gram-Schmidt construction).

The reduction proceeds as follows: Let T𝑇T be the maximum of the absolute values of all numerators and denominators of entries in (\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢)i=1nsuperscriptsubscript\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢𝑖1𝑛(\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}})_{i=1}^{n}}} (which can be computed in strongly polynomial time222Equivalently, without loss of generality we can assume that the input is integral, and then take C𝐶C to be the maximum of the absolute values of all entries in (\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢)i=1nsuperscriptsubscript\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢𝑖1𝑛(\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}})_{i=1}^{n}}}, as done in Schrijver’s [18, Section 15.2].). From Lemma 15, we have d(\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,Q)21d(dT)2d𝑑superscript\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0𝑄21𝑑superscript𝑑𝑇2𝑑d(\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},Q)^{2}\geq\frac{1}{d(dT)^{2d}}}} if \IfSubStr0\StrCut0\csA\csB\csA\csB𝟎Q\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0𝑄\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}\notin Q}}. Compute rational ϵ>0italic-ϵ0\epsilon>0 so that ϵ2n<1d(dT)2dsuperscriptitalic-ϵ2𝑛1𝑑superscript𝑑𝑇2𝑑\epsilon^{2}n<\frac{1}{d(dT)^{2d}}. For example, let ϵ:=1nd(dT)dassignitalic-ϵ1𝑛𝑑superscript𝑑𝑇𝑑\epsilon:=\frac{1}{nd(dT)^{d}}. The reduction queries d(\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,S)2𝑑superscript\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0𝑆2d(\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},S)^{2}}} for S𝑆S constructed as above and given by the choice of ϵitalic-ϵ\epsilon we just made. It then outputs YES if d(\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,S)2<1d(dT)2d𝑑superscript\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0𝑆21𝑑superscript𝑑𝑇2𝑑d(\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},S)^{2}<\frac{1}{d(dT)^{2d}}}} and NO otherwise. ∎

Lemma 15.

Let P=conv{\IfSubStrp1\StrCutp1\csA\csB\csA\csB𝐩𝟏,,\IfSubStrpn\StrCutpn\csA\csB\csA\csB𝐩𝐧}𝑃conv\IfSubStrsubscript𝑝1\StrCutsubscript𝑝1\csA\csBsubscript\csA\csBsubscript𝐩1\IfSubStrsubscript𝑝𝑛\StrCutsubscript𝑝𝑛\csA\csBsubscript\csA\csBsubscript𝐩𝐧P=\operatorname{conv}\{\IfSubStr{p_{1}}{{\StrCut{p_{1}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{1}}},\dotsc,\IfSubStr{p_{n}}{{\StrCut{p_{n}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{n}}}\}}}}} be a V-polytope with \IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢d\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢superscript𝑑\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}}\in\mathbb{Q}^{d}}}. Let T𝑇T be the maximum of the absolute values of all numerators and denominators of entries in (\IfSubStrpi\StrCutpi\csA\csB\csA\csB𝐩𝐢)i=1nsuperscriptsubscript\IfSubStrsubscript𝑝𝑖\StrCutsubscript𝑝𝑖\csA\csBsubscript\csA\csBsubscript𝐩𝐢𝑖1𝑛(\IfSubStr{p_{i}}{{\StrCut{p_{i}}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{p_{i}}})_{i=1}^{n}}}. If \IfSubStr0\StrCut0\csA\csB\csA\csB𝟎P\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0𝑃\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}}\notin P}} then d(\IfSubStr0\StrCut0\csA\csB\csA\csB𝟎,P)1(dT)dd𝑑\IfSubStr0\StrCut0\csA\csBsubscript\csA\csB0𝑃1superscript𝑑𝑇𝑑𝑑d(\IfSubStr{0}{{\StrCut{0}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{0}},P)\geq\frac{1}{(dT)^{d}\sqrt{d}}}}.

Proof.

The claim is clearly true if P𝑃P is empty. If P𝑃P is non-empty, let \IfSubStry\StrCuty\csA\csB\csA\csB𝐲=projP(\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱)\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲subscriptproj𝑃\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}=\operatorname{proj}_{P}(\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}})}}}}. We have that every facet of P𝑃P can be written as \IfSubStra\StrCuta\csA\csB\csA\csB𝐚T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱k\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csBsuperscript𝐚𝑇\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝑘\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}^{T}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\leq k}}}}, where \IfSubStra\StrCuta\csA\csB\csA\csB𝐚(0)annotated\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚absent0\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}(\neq 0)}} is an integral vector, k𝑘k is an integer and the absolute values of the entries of \IfSubStra\StrCuta\csA\csB\csA\csB𝐚\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}}} as well as k𝑘k are less than (dT)dsuperscript𝑑𝑇𝑑(dT)^{d} ([13, Theorem 3.6]). By assumption at least one these facet inequalities is violated by 0. Denote by \IfSubStra\StrCuta\csA\csB\csA\csB𝐚T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱k\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csBsuperscript𝐚𝑇\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝑘\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}^{T}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\leq k}}}} one such inequality. Let H={\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱:\IfSubStra\StrCuta\csA\csB\csA\csB𝐚T\IfSubStrx\StrCutx\csA\csB\csA\csB𝐱=k}𝐻:\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csBsuperscript𝐚𝑇\IfSubStr𝑥\StrCut𝑥\csA\csBsubscript\csA\csB𝐱𝑘H=\{\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}\mathrel{:}\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}^{T}\IfSubStr{x}{{\StrCut{x}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{x}}=k\}}}}}}}. We have \IfSubStry\StrCuty\csA\csB\csA\csB𝐲2=d(0,P)d(0,H)subscriptdelimited-∥∥\IfSubStr𝑦\StrCut𝑦\csA\csBsubscript\csA\csB𝐲2𝑑0𝑃𝑑0𝐻{\lVert\IfSubStr{y}{{\StrCut{y}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{y}}\rVert}_{2}=d(0,P)\geq d(0,H)}}, and d(0,H)2=k2/\IfSubStra\StrCuta\csA\csB\csA\csB𝐚221d(dT)2d𝑑superscript0𝐻2superscript𝑘2superscriptsubscriptdelimited-∥∥\IfSubStr𝑎\StrCut𝑎\csA\csBsubscript\csA\csB𝐚221𝑑superscript𝑑𝑇2𝑑d(0,H)^{2}=k^{2}/{\lVert\IfSubStr{a}{{\StrCut{a}{\csA\csB\mathbf{\csA}_{\csB}}{\mathbf{a}}\rVert}_{2}^{2}\geq\frac{1}{d(dT)^{2d}}}}. The claim follows. ∎

3 Conclusions and open questions

We have seen that Wolfe’s method using a natural point insertion rule exhibits exponential behavior. We have also shown that the minimum norm point problem for simplices is intimately related to the complexity of linear programming. Our work raises several very natural questions:

  • Are there exponential examples for other insertion rules for Wolfe’s method? Also, at the moment, the ordering of the points starts with the closest point to the origin, but one could also consider a randomized initial rule or a randomized insertion rule.

  • For applications in submodular function minimization, the polytopes one considers are base polytopes and our exponential example is not of this kind. Could there be hope that for base polytopes Wolfe’s method performs better?

  • It would be interesting to understand the average performance of Wolfe’s method. How does it behave for random data? Further randomized analysis of this method would include the smoothed analysis of Wolfe’s method or at least the behavior for data following a prescribed distribution.

  • We have seen that it is already quite interesting to study the minimum norm point problem for simplices, when we discussed the connection with linear programming. Is there a family of simplices where Wolfe’s method takes exponential time?

  • Can Wolfe’s method be extended to other convex Lpsubscript𝐿𝑝L_{p} norms for p>1𝑝1p>1?

Acknowledgements

We thank Gilberto Calvillo, Deeparnab Chakrabarty, Antoine Deza, Stephanie Jegelka, Matthias Köppe, Tamon Stephen, and John Sullivan for useful suggestions, conversations and comments about this project. This work was partially supported by NSF grant DMS-1440140, while the first and second authors were in residence at the Mathematical Sciences Research Institute in Berkeley, California, during the Fall 2017 semester. The first and second author were also partially supported by NSF grant DMS-1522158. The second author was also partially supported by the University of California, Davis Dissertation Fellowship. The third author was also partially supported by NSF grants CCF-1657939 and CCF-1422830 while the third author was in residence at the Simons Institute for the Theory of Computing.

References

  • [1] Achim Bachem and Bernhard Korte. Minimum norm problems over transportation polytopes. Linear Algebra and its Applications, 31:103–118, 1980.
  • [2] Imre Bárány and Shmuel Onn. Colourful linear programming and its relatives. Mathematics of Operations Research, 22(3):550–567, 1997.
  • [3] Stephen Boyd and Lieven Vandenberghe. Convex optimization. Cambridge university press, 2004.
  • [4] Gilberto Calvillo and David Romero. On the closest point to the origin in transportation polytopes. Discrete Applied Mathematics, 210:88–102, 2016.
  • [5] Deeparnab Chakrabarty, Prateek Jain, and Pravesh Kothari. Provable submodular minimization using wolfe’s algorithm. In Advances in Neural Information Processing Systems, pages 802–809, 2014.
  • [6] Vijay Chandru, Abhi Dattasharma, S Sathiya Keerthi, NK Sancheti, and V Vinay. Algorithms for the optimal loading of recursive neural nets. In SODA, pages 342–349, 1995.
  • [7] Sergei Nikolaevich Chernikov. The convolution of finite systems of linear inequalities. USSR Computational Mathematics and Mathematical Physics, 5(1):1–24, 1965.
  • [8] Satoru Fujishige. Lexicographically optimal base of a polymatroid with respect to a weight vector. Math. Oper. Res., 5(2):186–196, 1980.
  • [9] Satoru Fujishige, Takumi Hayashi, and Shigueo Isotani. The minimum-norm-point algorithm applied to submodular function minimization and linear programming. Kyoto University. Research Institute for Mathematical Sciences [RIMS], 2006.
  • [10] Satoru Fujishige and Shigueo Isotani. A submodular function minimization algorithm based on the minimum-norm base. Pacific Journal of Optimization, 7:3–17, 2011.
  • [11] Dongdong Ge, Xiaoye Jiang, and Yinyu Ye. A note on the complexity of Lpsubscript𝐿𝑝{L}_{p} minimization. Mathematical Programming, 129(2):285–299, Oct 2011.
  • [12] Martin. Grötschel, Lásló Lovász, and Alexander Schrijver. Geometric Algorithms and Combinatorial Optimization. Springer-Verlag, Berlin, 1988.
  • [13] Martin. Grötschel, Lásló Lovász, and Alexander Schrijver. The ellipsoid method and its consequences in combinatorial optimization. Combinatorica, 1(2):169–197, 1981.
  • [14] Victor Klee and George J. Minty. How good is the simplex algorithm? In Inequalities, III (Proc. Third Sympos., Univ. California, Los Angeles, Calif., 1969; dedicated to the memory of Theodore S. Motzkin), pages 159–175. Academic Press, New York, 1972.
  • [15] Mikhail K. Kozlov, Sergei P. Tarasov, and Leonid G. Khachiyan. The polynomial solvability of convex quadratic programming. USSR Computational Mathematics and Mathematical Physics, 20(5):223–228, 1980.
  • [16] Kiyohito Nagano, Yoshinobu Kawahara, and Kazuyuki Aihara. Size-constrained submodular minimization through minimum norm base. In Proceedings of the 28th International Conference on Machine Learning (ICML-11), pages 977–984, 2011.
  • [17] George L. Nemhauser and Laurence A. Wolsey. Integer programming and combinatorial optimization. Wiley, 1988.
  • [18] Alexander Schrijver. Theory of Linear and Integer Programming. John Wiley & Sons, Chichester, England, 1998.
  • [19] Alexander Schrijver. Combinatorial optimization. Polyhedra and efficiency. Vol. A, volume 24 of Algorithms and Combinatorics. Springer-Verlag, Berlin, 2003. Paths, flows, matchings, Chapters 1–38.
  • [20] Steve Smale. Mathematical problems for the next century. The Mathematical Intelligencer, 20(2):7–15, 2000.
  • [21] Tamás Terlaky and Shuzhong Zhang. Pivot rules for linear programming: A survey on recent theoretical developments. Annals of Operations Research, 46(1):203–233, 1993.
  • [22] László A. Végh. A strongly polynomial algorithm for a class of minimum-cost flow problems with separable convex objectives. SIAM J. Comput., 45(5):1729–1761, 2016.
  • [23] Philip Wolfe. Algorithm for a least-distance programming problem. Math. Programming Stud., 1:190–205, 1974. Pivoting and extensions.
  • [24] Philip Wolfe. Finding the nearest point in a polytope. Mathematical Programming, 11(1):128–149, 1976.